【发布时间】:2016-10-29 12:44:35
【问题描述】:
下面是一段代码 sn-p,我故意在其中引发 2 NullPointerException。第一个被处理。而第二个没有处理。我想在发生崩溃时为第二个异常创建崩溃转储。
int* nullPtr = NULL;
try{
x = *nullPtr;
}
catch(...) {
QLOG_WARNING0(QTEXT("catching 1st null ptr exception."));
}
y = *nullPtr;
这确实会使进程崩溃,但转储不是仅使用 -e 选项生成的。 我应该使用哪些选项来获取转储?
或者有什么方法可以使用 debugDiag 工具实现这一点?如果有,怎么做?
这只是一个示例代码。我正在调试的实际用例有一个进程崩溃,但我无法为崩溃进行转储。如果我使用第一个机会选项(-e 1),则会触发转储的有效处理异常。这会导致 procdump 在实际崩溃发生之前退出。
【问题讨论】:
-
您需要使用 Procdump 吗?还有其他方法可以收集故障转储。
-
不,我对任何其他工具持开放态度。例如,我确实找到了“debugDiag”,但也无法解决我的目的(鉴于我的专业水平)。使用这些或其他工具可能有出路。
标签: windows crash-dumps