使用WinDbg调试

WinDbg####

WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具。可以用于Kernel模式调试和用户模式调试,还可以调试dump文件。

WDK####

Windows 驱动程序工具包 (WDK)中包含WinDbg,也可以单独下载WinDbg。

dmp文件####

dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。


WinDbg设置符号文件路径####

在WinDbg->File->Symbol File Path这里设置程序的符号文件和微软的符号文件路径。如果系统有环境变量_NT_SYMBOL_PATH就只用设置程序的符号文件路径。
变量名:_NT_SYMBOL_PATH
变量值:srv*D:/MySymbolFile/*http://msdl.microsoft.com/download/symbols

WinDbg生成dmp文件####

WinDbg附加到崩溃的进程上,输入.dump命令可以保存进程的dump文件。
如:.dump /ma C:\testdump.dmp

  • /m 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。
  • /ma 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
  • /mFhutwd 带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。

分析dump文件####

!analyze -v

编写代码捕捉异常/崩溃,生成dmp文件####

因为用户机器上一般不会装WinDbg,装了也不一定会用。
捕捉异常用API函数,SetUnhandledExceptionFilter()。
生成crash dump用DbgHelp.dll里面的MiniDumpWriteDump()函数。

参考文章####

http://www.cnblogs.com/netwy/articles/2520428.html
http://blog.csdn.net/xbgprogrammer/article/details/23437635
http://blog.csdn.net/xiaoshahai/article/details/7284867/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • layout: wikititle: Windbg调试笔记categories: Debugdescription...
    超哥__阅读 19,574评论 0 17
  • 术语、缩略语 windbg windows平台下,强大的用户态和内核态调试工具。 dmp 内存映像文件,一般是系统...
    wenfh2020阅读 27,825评论 0 5
  • 今年开始做C++服务器开发了,所以来记录下自己用到的东西。分析Core Dump文件一般好像都是用windbg、d...
    那些云阅读 28,483评论 2 7
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,889评论 0 27
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    JasonShi6306421阅读 1,263评论 0 1