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

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

 

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

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

 

如何使用ntsd进行调试

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

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

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

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

 

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

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

可以用下列命令。

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

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

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

然后让程序跑起来

.g ----执行程序

 

效果如下:

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

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

004表示第几个线程。

接着加载SOS命令:

输入下面的命令:

.loadby sos mscorwks

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

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

 

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

Windbg的使用

此时出现这个界面

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

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

.NET 调试入门(一) 调试工具的使用的更多相关文章

  1. 【转】HTML, CSS和Javascript调试入门

    转 http://www.cnblogs.com/PurpleTide/archive/2011/11/25/2262269.html HTML, CSS和Javascript调试入门 本文介绍一些入 ...

  2. 【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置

    原文发表于百度空间,2009-01-08========================================================================== Windb ...

  3. .NET高级调试系列-Windbg调试入门篇

    Windbg是.NET高级调试领域中不可或缺的一个工具和利器,也是日常我们分析解决问题的必备.准备近期写2篇精华文章,集中给大家分享一下如果通过Windbg进行.NET高级调试. 今天我们来一篇入门的 ...

  4. VS中用C#开发应用程序的调试入门、技巧和实例(转载)

    入门篇 假设你是有着.Net平台的程序员,并且使用Visual Studio 做为开发工具. 断点:最简单的一种,设置一个断点,程序执行到那一句就自动中断进入调试状态.设置断点,在你觉得有问题的代码行 ...

  5. 掌握VS2010调试 -- 入门指南

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...

  6. VS2010调试入门指南

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...

  7. Linux gdb调试入门

    没有使用过gdb调试过程序的觉得gdb是个很神奇的东东,如果你使用它调试一次保证你想忘记它都难,下面看看它的庐山真面目吧! GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具. ...

  8. HTML/CSS/Javascript调试入门(转)

    推荐Chrome作为开发工具(FF可以使用FireBug,IE8和之后的版本也有自己的调试工具) 1.HTML的调试 将鼠标放在任意元素上,右键Inspect Element,即可查看该元素的HTML ...

  9. 【旧文章搬运】Windbg+Vmware驱动调试入门(三)---Windbg基本调试入门

    原文发表于百度空间,2009-01-09========================================================================== 这一节的内 ...

随机推荐

  1. [SCOI2007]修车(建图好题)

    [SCOI2007]修车 https://www.lydsy.com/JudgeOnline/problem.php?id=1070 Time Limit: 1 Sec  Memory Limit:  ...

  2. pymysql基本的使用方法

    1.导入模块+创建连接 import pymysql # 1.通过python去连接数据库 conn = pymysql.connect(host="127.0.0.1",port ...

  3. python之event【事件】

    # 线程之间用于交互的一个对象,这个event是一个内部的标签,线程可以等待这个标签的状态 #举个例子,比如红绿灯是一个线程,三辆汽车是3个线程,如果为红灯,则三个汽车的线程必须 #要停止,如果是绿灯 ...

  4. LSTM Accuracy

    Training iter #1: Batch Loss = 1.234543, Accuracy = 0.29866665601730347PERFORMANCE ON TEST SET: Batc ...

  5. 利用redis完成自动补全搜索功能(三)

    前面已经完成了分词和自动提示功能,最后把搜索结合在一起,来个完成的案例.当然最好还是用搜索分词解决,这个只是一个临时解决方案. 其实加上搜索很简单,要做的就是3件事 1. 分词的时候,把有用词的id存 ...

  6. ArrayList与LinkedList的基本添加删除方法 模拟栈 队列

    ArrayList  LinkedList ArrayList的add是在末尾添加 linkedlist也是 offer加在末尾 poll获取并移除此列表的头(第一个元素) peek 获取第一个但不移 ...

  7. java里的静态成员变量是放在了堆内存还是栈内存

    转自http://bbs.csdn.NET/topics/370001490 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) 2.jvm ...

  8. Golang之Mysql操作

    话说当年武大郎对着电脑一顿噼里啪啦,,,对mysql增删改查 增加insert package main import ( "fmt" "github.com/jmoir ...

  9. Linux 模块管理

    查看模块信息 modinfo module-name 加载模块 insmod module-name 卸载模块 rmmod module-name 生成模块依赖 cd /lib/module/`una ...

  10. 什么是@guid

    我将给大家讲解史上最通俗一同guid与ID的区别...