.NET 调试入门(一) 调试工具的使用

至于WinDbg的下载和基本配置网上到处都是,可以参考

http://www.cnblogs.com/happyhippy/archive/2007/04/08/710933.html

 

因为现在Windbg工具必须要下载SDK,如果不想下SDK,可以直接下载该工具。

http://vdisk.weibo.com/s/GD2vK

 

如何使用ntsd进行调试

将下载完的WinDbg调试工具安装到本地,在安装目录中找到ntsd工具。

.NET 调试入门(一) 调试工具的使用_第1张图片

进入命令行后面跟要调试的程序,如下图:

.NET 调试入门(一) 调试工具的使用_第2张图片

注:ntsd,同样还有一些可选参数:

ntsd.exe -p <进程ID> 调试一个在运行的进程
  ntsd.exe -g <调试程序路径>   -g表示不希望调试器在初始启用时停止程序的执行。
  ntsd.exe -G <调试程序路径>   -G每当调试目标准备退出时,调试器也将停止执行。
  ntsd.exe -z <dump文件>:调试一个dump文件

 

回车得到,得到如下结果图

.NET 调试入门(一) 调试工具的使用_第3张图片

此时调试器就叫你加Symbol文件。

可以用下列命令。

.symfix    ---- 下载符号文件

.reload     ----重新加载符号

加载他符号文件,效果如下:

.NET 调试入门(一) 调试工具的使用_第4张图片

然后让程序跑起来

.g ----执行程序

 

效果如下:

.NET 调试入门(一) 调试工具的使用_第5张图片

现在我们需要调试程序并要用到SOS组件。

首先按Ctrl+C进行调试状态:

.NET 调试入门(一) 调试工具的使用_第6张图片

004表示第几个线程。

接着加载SOS命令:

输入下面的命令:

.loadby sos mscorwks

要看SOS是否加载成功,可以看用!help检查一下。

.NET 调试入门(一) 调试工具的使用_第7张图片

此时你就可以对该程序进行调试了。

 

其实用Windbg命令差不多,只是他有GUI界面,那我就说一下windbg如何进行调试状态吧。

Windbg的使用

.NET 调试入门(一) 调试工具的使用_第8张图片

此时出现这个界面

.NET 调试入门(一) 调试工具的使用_第9张图片

到这步就需要我们调试该程序了,点击Break就进入到调试界面了,其实类型于ntsd中的Ctrl+C

.NET 调试入门(一) 调试工具的使用_第10张图片

最后就可以加载SOS进行调试了。

.NET 调试入门(一) 调试工具的使用_第11张图片

你可能感兴趣的:(.net)