使用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   中道学友  阅读(1825)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2009-12-02 常用英语食品词汇- 禽畜类

导航

< 2010年12月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

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

点击右上角即可分享
微信分享提示