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

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

注: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 调试入门(一) 调试工具的使用的更多相关文章
- 【转】HTML, CSS和Javascript调试入门
转 http://www.cnblogs.com/PurpleTide/archive/2011/11/25/2262269.html HTML, CSS和Javascript调试入门 本文介绍一些入 ...
- 【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置
原文发表于百度空间,2009-01-08========================================================================== Windb ...
- .NET高级调试系列-Windbg调试入门篇
Windbg是.NET高级调试领域中不可或缺的一个工具和利器,也是日常我们分析解决问题的必备.准备近期写2篇精华文章,集中给大家分享一下如果通过Windbg进行.NET高级调试. 今天我们来一篇入门的 ...
- VS中用C#开发应用程序的调试入门、技巧和实例(转载)
入门篇 假设你是有着.Net平台的程序员,并且使用Visual Studio 做为开发工具. 断点:最简单的一种,设置一个断点,程序执行到那一句就自动中断进入调试状态.设置断点,在你觉得有问题的代码行 ...
- 掌握VS2010调试 -- 入门指南
1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...
- VS2010调试入门指南
1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...
- Linux gdb调试入门
没有使用过gdb调试过程序的觉得gdb是个很神奇的东东,如果你使用它调试一次保证你想忘记它都难,下面看看它的庐山真面目吧! GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具. ...
- HTML/CSS/Javascript调试入门(转)
推荐Chrome作为开发工具(FF可以使用FireBug,IE8和之后的版本也有自己的调试工具) 1.HTML的调试 将鼠标放在任意元素上,右键Inspect Element,即可查看该元素的HTML ...
- 【旧文章搬运】Windbg+Vmware驱动调试入门(三)---Windbg基本调试入门
原文发表于百度空间,2009-01-09========================================================================== 这一节的内 ...
随机推荐
- 1D Blending
[1D Blending] BlendTree有类型之分,分为1D.2D.本文记录1D. 1D Blending blends the child motions according to a sin ...
- MongoDB 分片副本集集群搭建
配置准备 三台机器: A(193.168.10.101) B(193.168.10.102) C(193.168.10.103) MongoDB 安装目录:/usr/local/mongodb Mon ...
- org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException
使用Intelij Idea时,报错如下: org.apache.catalina.core.StandardContext.listenerStart Error configuring appli ...
- python之socket运用1
先看下服务端的代码 import socket ip_bind = ("127.0.0.1",3000) sk = socket.socket() sk.bind(ip_bind) ...
- 15-js提交表单的简单检测实例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法
.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译, ...
- windows下 Memcache cpu占用过高
分析应该是memcache的内存大小还是默认配置,已经满足不了当前的大数据量的需要了,大量的新缓存需要进入,同时大量的旧缓存又需要被淘汰出来,一进一出导致CPU占用过多. 进入注册表,找到:HKEY_ ...
- eclipse中导入dtd文件实现xml的自动提示功能
以mybatis为例 1.mybatis的xml文件头: (1)config文件: <?xml version="1.0" encoding="UTF-8" ...
- laravel增删改查(查询构建器)
1.增 $data = [ 'username' => 'xiaohong', 'nickname' => '小红红', 'email' => '12356788@qq.com', ...
- linux永久关闭防火墙