美文网首页
使用WinDbg调试

使用WinDbg调试

作者: porridgechen890 | 来源:发表于2017-03-08 10:18 被阅读213次

    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/

    相关文章

      网友评论

          本文标题:使用WinDbg调试

          本文链接:https://www.haomeiwen.com/subject/gtvuwttx.html