bug定位

【windows】crash原因定位初探


背景

在测试时经常会遇到crash崩溃的情况,或许抓dump和叫开发是常规的反应。但除此之外,我们可以尝试先自己定位下问题所在。


用到的工具:

windbg http://www.windbg.org/


前置条件

  1. crash但是没有dump文件的情况:

  2. 方法一:调出任务管理器,找到崩溃进程,创建转储文件。

  3. 方法二:打开windbg,附加到崩溃进程,Input区域输入 .dump /m c:crash.dmp,就会生成标准的minidump。 输入 .dump /ma c:crash.dmp,生成的dump会包括完整的内存内容、句柄、未加载的模块、等等。

  4. crash有dump文件的情况,此时就可以直接进行下一步。

windbg 分析

  1. 打开windbg,File->Open Crash Dump->选择目标文件加载。
  2. File->Symbole File Path,此处可以输入 "srv*c:mss*http://msdl.microsoft.com/download/symbols",然后在分析前就会自动下载对应的windows符号。当然,如果你有对应崩溃文件的pdb文件,也可以在这里输入路径。
  3. 输入.reload进行加载符号
  4. 输入!analyze -v,等待分析结果
  5. 查看结果,重点关注PROCESSNAME和MODULENAME。 

更多命令可以直接在Input区域输入?进行查看。

原文地址:https://www.cnblogs.com/xiaobaichuangtianxia/p/6601509.html