如何获取 Winforms 应用程序的转储文件
我有一个 C# 应用程序,由于未知原因而崩溃。
为了理解这个问题,我想为其获取转储文件。
我该怎么做?
非常感谢,
奥兹。
I have a C# application which is crashing for unknown reason.
For understanding the issue, i want to take a dump file for it.
How can i do it?
many thanks,
Oz.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是在谈论当应用程序崩溃时进行小型转储,以便可以使用 Windbg 或 cdb 进行调试吗?
如果是,有不同的方法:
DrWatson
- 在命令提示符处运行
drwtsn32 -i
,这将激活 dr watson 并让它在后台侦听所有崩溃情况。Windbg
-从Windbg的安装文件夹开始,通过commandpromt运行
windbg -I
。-当崩溃发生时,windbg将立即加载崩溃转储。
确保首先下载并安装Windows 调试工具。
Are you talking about taking a minidump when your application crashes so you can debug it with windbg or cdb ?
If yes, there are different approaches:
DrWatson
-Run
drwtsn32 -i
at the commandprompt, this will activate dr watson and let it listen in the background for all crashes.Windbg
-Run
windbg -I
from the commandpromt starting from the installation folder of Windbg.-When a crash occurs, windbg will immediately load the crash dump.
Make sure you download and install the Debugging tools for Windows first.
如果您使用的是 Windows Vista/7 或 Server 2008,则可以打开任务管理器并手动创建转储文件,如下所述 此处。正如 Mez 所建议的那样,我建议使用 Windbg 来捕获崩溃,因为这样您就可以立即对进程执行崩溃转储分析。
If you're using Windows Vista/7 or Server 2008, then you can open Task Manager and manually create a dump file, as explained here. I would recommend using Windbg for catching the crash, as Mez suggested, since then you can perform immediate crash dump analysis on the process.
您必须捕获异常并将其输出到 main.c 中的日志文件中。
IE,
You must catch the exception and output it to a log file in your main.
i.e.,