browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

自定义 WinDbg 的快捷命令

Posted by on 2008 年 09 月 17 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

这个小技巧来自 Debugging Toolbox 的 blog ,可以通过自定义快捷命令的方式简化 WinDbg 的调试操作。
首先,在 WinDbg 的安装目录下新建一个文本文件,假设为 cmdtree.txt 。在其中输入如下格式的文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
title {"Common Commands"}
body
{"Common Commands"}
 {"Information"}
  {"Time of dump"} {".time"}
  {"Process being debugged"} {"|"}
  {"Dump Location"} {"||"}
  {"Create server on port 9999"} {".server tcp:port=9999"}
  {"Show remote connections"} {".clients"}
  {"Process Environment Block"} {"!peb"}
 {"Logging"}
  {"Open Log"} {".logopen /t /u /d"}
  {"Close Log"} {".logclose"}
 {"Modules"}
  {"All Modules"} {"lm D sm"}
  {"Loaded Modules"} {"lmo D sm"}
  {"Loaded Modules (verbose)"} {"lmvo D sm"}
  {"Modules w/o symbols"} {"lme D sm"}
 {"Stacks"}
  {"Set frame length to 2000"} {".kframes 2000"}
  {"Dump current stack w/ DML"} {"kpM 1000"}
  {"Dump stacks without private info"} {"knL 1000"}
  {"Dump stacks with all parameters"} {"kPn 1000"}
  {"Dump stacks (distance from last frame)"} {"kf 1000"}
  {"Dump stacks with Frame Pointer Omission"} {"kvn 1000"}
  {"Dump all stack"} {"~*kbn 1000"}
  {"Dump unique stacks"} {"!uniqstack -pn"}
  {"Thread environment block"} {"!teb"}
  {"Move to next frame"} {".f+"}
  {"Move to previous frame"} {".f-"}
 {"Memory"}
  {"Dump heaps"} {"!heap -a"}
 {"Automated Task"}
  {"!analyze"} {"!analyze -v"}
  {"Locks"} {"!ntsdexts.locks"}
  {"CPU time for User and Kernel Mode"} {"!runaway 7"}
 {"Managed"}
  {"Load sos"} {".loadby sos mscorwks"}
  {"clrstack"} {"!clrstack"}
  {"Threads"} {"!threads"}
  {"Stack Objects"} {"!dso"}
  {"Exceptions"} {"!dae"}

打开 WinDbg ,输入命令:

1
.cmdtree cmdtree.txt

这时自定义的快捷命令树形视图就会打开,效果如下图。

订阅本站

4 Comments

  • At 2008.09.18 13:32, nuc_dhl said:

    lima:听说你是华工c++第一人。小弟请教学习windows编程走什么的学习路线。迷茫啊

    • At 2008.09.18 14:05, 李马 said:

      第一人?你听谁说的?:)
      说到经验,我觉得我的经验并不一定适用于你,因为每个人的情况都不同。
      最基本的,要学会C语言,最起码能看懂C语言写下的程序。然后在书店中选一本你最感兴趣的书,回去刻苦练习。

      • At 2008.09.19 16:10, nuc_dhl said:

        请教c中
        假入我输入一个0–9整数,怎么输出输入整数的asscii码
        例:输入整数6(不能输入字符6), 输出54

        • At 2008.09.19 16:20, 李马 said:

          仔细看看课本中对 printf 格式控制符的讲解。

          (Required)
          (Required, will not be published)