现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

使用WinDBG排查应用程序加载时崩溃的问题

2013-11-13 22:44 工业·编程 ⁄ 共 375字 ⁄ 字号 暂无评论

假设有个应用程序, 一启动就崩溃, 根本就来不及让你用Visual Studio来Attach, 并且该应用程序在使用Visual Studio直接lunch的情况下又不会出现这样的问题, 该怎么办呢?

除了使用<<在进程崩溃的时候自动抓取一个DUMP文件>>中的方法, 还可以使用WinDBG直接加载应用程序的可执行文件, 然后在应用程序退出的系统函数上下断点, 从而得到退出时的call stack.

让我们用notepad.exe作为例子吧.

首先, 使用Open Executable来打开notepad.exe的可执行文件.

image

image

然后, 运行下面的两条命令, 在程序退出的函数上设置断点.

bp Kernel32!ExitProcess

bp Kernel32!TerminateProcess

image

然后输入命令"g". 等待它异常退出时, 会进入断点, 然后是用"k"命令来得到call stack.

给我留言

留言无头像?