Java教程

windbg调试命令

本文主要是介绍windbg调试命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

重要

(1) windbg命令分为标准命令(40个左右),元命令(一百多个)和扩展命令。

标准命令提供最基本的调试功能,不区分大小写。如:bp g dt dv k等
元命令提供标准命令没有提供的功能,也内建在调试引擎中,以.开头。如.sympath .reload等
扩展命令用于扩展某一方面的调试功能,实现在动态加载的扩展模块中,以!开头。如!analyze等

(2)每个调试命令都各有使用范围,有些命令只能用于内核调试,有些命令只能用于用户调试,有些命令只能用于活动调试。但用户也不必记得这许多,一旦在某个环境下,使用了不被支持的命令,都会显示“No export XXX found”的字样。就拿!process命令来说吧,它显示进程信息,但只能用于内核调试中,如果在用户调试中使用,就是下面的情景:

0:001> !process
No export process found

 

(3) 神奇的Tab键,进行命令补全;ESC清除当前命令输入框中的文本

(4) 选择Command窗口中的内容,然后右击进行复制

(5) 使用;作为分隔符,可以在同一行输入多条命令

(6) 上图红色框中的“0:000”。【0为当前调试会话的进程号;000为调试会话的线程号

(7) 当命令提示符显示*BUSY*时,即使命令输入框可以输入命令,但输入的命令不会立即被执行,要等windbg空闲时才能执行。

     可使用Ctrl + Break来终止一个长时间未完成的命令

(8) 一次可以执行多条命令,命令间用分号;分隔 【如:bp main;bp `view.cpp:120`】,一次打2个断点

(9)按Ctrl + Alt + V开启/关闭verbose Output(详细输出模式)

(10) 为了保证windbg流畅运行,在调试时,尽量不要开启Watch、Locals、Registers、Call Stack、Processes and Threads窗口,直接用command来获取信息

这篇关于windbg调试命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!