Win32:Dr. Watson的全部/迷你转储和写我自己的之间有区别吗? [英] Win32: Is there a difference between Dr. Watson's full/mini dumps and writing my own?

查看:139
本文介绍了Win32:Dr. Watson的全部/迷你转储和写我自己的之间有区别吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个应用程序偶尔崩溃的版本构建;不幸的是,它看起来像是崩溃在第三方DLL。虽然试图得到一个句柄,我一直在海中游泳的HOW TOs和描述Windows如何创建崩溃转储。



我正在考虑使用这个建议的微型转储:



http://stackoverflow.com/questions/696580/getting-a-dump -of-a-process-that-c​​rashes-on-startup / 700108#700108



我打算在代码中保留此功能,总是为我的应用程序创建,而不必事先设置PC。 BTW,这个应用程序不是分发;它将与我们自己的硬件配对,所以我不关心随机用户有转储文件建立在他们的机器上,如果应用程序碰巧崩溃。



其他注意:all的代码是C / C ++。



Dr. Watson(drwtsn32.exe)和这段代码会为我产生什么区别?

$博士Watson博士,你只能得到转储,当博士看到你'坠毁'。使用转储器API,您将能够从应用程序中的任何点调用它。例如。你可以蹦床的普通断言转储而不是显示一个对话框。根据我的经验,一旦你的应用程序转储支持,你会发现它更容易调查,排除故障和解决各种问题,只是因为你可以在任何地方,你认为合适的产生一个完整的转储(或甚至一个小转储)代码。


I have an application that is occasionally crashing in the release build; unfortunately, it looks like it is crashing in a 3rd party DLL. While trying to get a handle on it I've been swimming in a sea of HOW TOs and descriptions of how Windows creates crash dumps.

I was thinking about using this suggested mini-dump:

http://stackoverflow.com/questions/696580/getting-a-dump-of-a-process-that-crashes-on-startup/700108#700108

I was planning on leaving this functionality in the code so the dump is always created for my application without having to have the PC set up beforehand. BTW, this application is not for distribution; it will be paired with our own hardware so I'm not concerned about random users having dump files building on their machines if the application happens to crash.

Additional note: all of the code is C/C++.

Is there a difference between what Dr. Watson (drwtsn32.exe) and this code will produce for me?

解决方案

With Dr. Watson you'll only get the dumps when the Dr. sees you 'crashed'. Using the dumper API you'll be able to invoke it from any point in the app. Eg. you can trampoline the ordinary asserts to dump instead of showing a dialog. In my experience once you have dump support in your app you'll find it easier down the road to investigate, troubleshoot and fix various problems, simply because you can produce a full dump (or even a minidump) at any place you see fit in code.

这篇关于Win32:Dr. Watson的全部/迷你转储和写我自己的之间有区别吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆