.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工具。

image

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

image

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

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

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

image

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

可以用下列命令。

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

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

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

image

然后让程序跑起来

.g ----执行程序

效果如下:

image

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

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

image

004表示第几个线程。

接着加载SOS命令:

输入下面的命令:

.loadby sos mscorwks

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

image

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

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

Windbg的使用

image

此时出现这个界面

image

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

image

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

image

作者: 吉桂昕
出处: http://www.cnblogs.com/jiguixin
我的新浪微博: http://weibo.com/jiguixin
本文版权归【吉桂昕】和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。
原文地址:https://www.cnblogs.com/jiguixin/p/3146153.html