.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========================================================================== 这一节的内 ...
随机推荐
- 根据数组下标在MongoDB中修改数组元素
如下图这样的数据: 即文档中某个字段是一个数组,而每个数组元素又是一个对象,现在需求是对每个对象中的content字段值作情感分析后,把情感分析得到的结果增加到这个对象中去. 如上图中第1个元素,修改 ...
- css3将图片、内容换为灰色
直接用filter属性-webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-ms-filter: grayscale(100%); ...
- django的视图函数介绍
我们来看下views视图中的函数的request这个变量到底有哪些方法和属性 1.request.path 结果:不包括域名和端口的url路径 2.request.method 结果:这次请求的方法, ...
- Java数据类型与MySql数据类型对照表
这篇文章主要介绍了Java数据类型与MySql数据类型对照表,以表格形式分析了java与mysql对应数据类型,并简单讲述了数据类型的选择与使用方法,需要的朋友可以参考下 本文讲述了Java数据类型与 ...
- Task/Parallel实现异步多线程
代码: #region Task 异步多线程,Task是基于ThreadPool实现的 { //TestClass testClass = new TestClass(); //Action<o ...
- WCF的例子
Demo的 “Service端”以本机IIS为宿主,“Client端”以WebForm项目为例. 1.新建项目:WCF>WCF Service Application: 2.删除默认文件ISer ...
- NGS的duplicate的问题
NGS的duplicate的问题 duplicate的三个问题: 一.什么是duplicate? 二.duplicate来源? 三.既然PCR将1个reads复制得到成百上千copies,那为什么 ...
- 客户关系管理系统CRM
http://www.cnblogs.com/Michael2397/tag/SSH%E9%A1%B9%E7%9B%AE-CRM/ 客户关系管理系统
- vue webkit-box-orient: vertical打包线上不显示
emmm……觉得不科学啊,写了几个vue的网站,限制超出行数省略号.结果发现放到线上,全都瓦特了.反复检查本地跑起来没错,代码没少,偏偏在线上的时候就是缺了vue -webkit-box-orient ...
- C# 编写最小化时隐藏为任务栏图标的Window appllication
1.设置窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需 ...