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

假设有个应用程序, 一启动就崩溃, 根本就来不及让你用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.

posted on 2010-12-02 13:37  中道学友  阅读(1816)  评论(0编辑  收藏  举报

导航

技术追求准确,态度积极向上