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

 

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

 

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

 

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

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

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

 

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

bp Kernel32!ExitProcess

bp Kernel32!TerminateProcess

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

 

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

相关文章:

  • 2022-12-23
  • 2021-06-15
  • 2021-04-24
  • 2021-10-16
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-06
  • 2021-08-10
  • 2022-01-12
相关资源
相似解决方案