- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windbg 的用命令--强大!常用!
windbg 的常用命令--强大!常用!如何手工抓取dump文件在生产环境下进行故障诊断时,为了不终止正在运行的服务或应用程序,有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。首先一种比较直观简洁的方式就是用WinDbg等调试器直接attach到需要调试的进程,调试完毕之后再detach即可。但是这种方式有个缺点就是执行debugger命令时必须先break这个进程,执行完debug命令之后又得赶紧F5让他继续运行,因为被你break住的时候意味着整个进程也已经被你挂起。另外也经常会由于First Chance Excetpion而自动break,你得时刻留意避免长时间break整个进程。所以这样的调试方式对时间是个很大的考验,往往没有充裕的时间来做仔细分析。另一种方式则是在出现问题的时候,比如CPU持续长时间100%,内存突然暴涨等非正常情况下,通过对服务进程snapshot抓取一个dump文件,完成dump之后先deatch,让进程继续运行。然后用windbg等工具来分析这个抓取到的dump文件。那么如何在不终止进程的情况下抓取dump文件呢?Debugging Tools for Windows里提供了一个非常好的工具,adplus.vbs。从名字可以看出,实际上是一个vb脚本,只是对cdb调试器作的一个包装脚本。其路径与Debugging Tools for Windows的安装路径相同,使用的方法也很简单,如下所示:adplus.vbs -hang -p 1234 -o d:\dump其中-hang指明使用hang模式,亦即在进程运行过程中附加上去snapshot抓取一个dump文件,完成之后detach。与之对应的是-crash崩溃模式,用户先启动adplus,然后由它启动要监控的程序,在出现异常崩溃时自动生成dump文件,或者通过Ctrl-C人为发出抓取指令。但是-crash模式在抓取完成之后,被监控的进程就必须终止。因此我们在这里只选用-hang模式。-p是要调试的进程ID,比如ASP.NET应用线程池,在Win2003下就是w3wp.exe-o 指定要output的dump文件路径。另外,与adplus类似的,有个UserDump工具,但是抓取用户模式的进程,而adplus则是内核模式和用户模式两者皆可。而总所周至的Dr. Waston,则会在进程崩溃之后的自动时候抓取dump文件,一样可以用于windbg等调试器来事后分析程序崩溃时的状态。====================0:000 !dumpheap -stat No export dumpheap found ======解决方法:.load clr20\sos.dll,你要先执行的。sos.dll在默认的c:\windows\\framework\v2.....下面,你复制到c:\program files\debugging tools for windows下面的clr20目录下面(clr20是你手工创建的) ======================= 在.NET下开发时,最基本的调试方法就是使用Visual Studio的单步调试。但是对于一些特殊情况,特别是涉及到CLR内部的时候使用这种方式就达不到目的了。 如果要查看运行时内存使用情况,IL代码,CLR信息等可以使用以下两种方式: 1、使用VS2005 + sos.dll 2、使用Windbg + sos.dll 第二种方式功能更加强大,下面我就通过实际操作展示一下怎么使用这种方法得到运行时ArrayList内部的值。 有人可能会说:我直接用Visual Studio的单步调试岂不是更快?当然,这个只是一个演示,通过这个演示是为以后的高级调试打下基础 在操作之前,先熟悉一下基本知识: A、使用VS2005 + sos.dll调试 1、需要在项目-属性-调试-〉启用非托管代码调试 2、打开调试-〉窗口-〉即时 3、在即时窗口中输入 !load sos 加载调试模块 4、输入其它调试语句 B、使用Windbg + sos.dll 1、去微软的网站下载必威体育精装版的Windbg 2、打开Windbg在File-〉Symbol File Path ...窗口中输入 srv*c:\symbols*/download/symbols 3、运行需要调试的程序,然后在Windbg中File-〉Attach to Process中选择刚才运行的程序 4、在出现的Command窗口中就可以输入调试语句 5、常用调试语句: lm //查看加载了哪些模块 .load C:\WINDOWS\Mic
您可能关注的文档
- 环境词汇——Chna Daily.doc
- hack游戏教程.doc
- 【翟鸿森教授经典录】.doc
- WMIC 命令行理方式.doc
- 员工学习分享工作得.ppt
- FreeBSD72支持的网卡驱动列表.doc
- 中国学生健康体检理.ppt
- linux orcle安装操作步骤总结.doc
- 桌面云用户常见问手册.doc
- 口袋怪兽绿宝石攻(超详细).doc
- 2025届衡阳市第八中学高三一诊考试物理试卷含解析.doc
- 2025届湖南省娄底市双峰一中等五校重点中学高三第二次诊断性检测物理试卷含解析.doc
- 天水市第一中学2025届高三第二次联考物理试卷含解析.doc
- 2025届金华市重点中学高三考前热身物理试卷含解析.doc
- 2025届北京市石景山区第九中学高三第四次模拟考试物理试卷含解析.doc
- 江苏扬州市2025届高三第一次模拟考试物理试卷含解析.doc
- 2025届江苏省南通市高级中学高考物理五模试卷含解析.doc
- 广东省清远市华侨中学2025届高三第一次调研测试物理试卷含解析.doc
- 辽宁省凤城市2025届高三第五次模拟考试物理试卷含解析.doc
- 内蒙古巴彦淖尔市重点中学2025届高考仿真卷物理试卷含解析.doc
文档评论(0)