我们的应用程序崩溃 - 如何找到崩溃的原因?

问题描述:

我们有一个联系人同步应用程序会发生什么。在按下启动应用程序中同步主逻辑的按钮后不久,应用程序停止工作,Windows(本例中为7)表示我们的应用程序“已停止工作”,之后唯一的可能是通过按钮关闭应用程序题为“关闭应用程序”。我们的应用程序崩溃 - 如何找到崩溃的原因?

奇怪的是,在我的开发机器上,应用程序工作正常。它不会崩溃,不会抛出任何错误。但是,当打包成安装程序并安装在其他机器上时,它会停止工作,如上所述。

请让我知道哪些应用,我可以在调试时使用这个更好的,如何找到更多关于这个错误,是什么触发它,它如何可以解决等提前

感谢。

后编辑

这是在事件查看器日志打印出来:

Faulting application name: ourappname.exe, version: 1.2.9.0, time stamp: 0x4f3926c8 
Faulting module name: ntdll.dll, version: 6.1.7600.16915, time stamp: 0x4ec49caf 
Exception code: 0xc0000374 
Fault offset: 0x000c33bb 
Faulting process id: 0xecc 
Faulting application start time: 0x01ccea61773d12e0 
Faulting application path: C:\Program Files\path\to\ourappname.exe 
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll 
Report Id: bb3977f0-5654-11e1-9a84-0800275ba797 

这是否帮助?

+0

首先看看EventViewer的应用程序部分。在那里记录例外情况,并可能让您了解失败的情况。 – 2012-02-13 11:23:33

+0

@PaulAlanTaylor我刚刚在问题中增加了更多信息。我没有看到任何可能导致我从EventViewer文件的正确方向。 – Andrei 2012-02-13 12:33:34

+0

您是否检查过C:\ Users \ dre \ AppData \ Local \ Temp \ WER3F91.tmp.mdmp中的故障转储?是否附加了未处理的异常处理程序? – PVitt 2012-02-13 12:41:18

设置global uncaught exception handler并记录错误。为了更好地衡量,您可以使用write a memory dump of your application并使用WinDbg以及SOS.dll来更精确地查看应用程序中发生了什么(dbghelp.dll与Windows调试工具中的WinDbg一起提供)。

+0

当应用程序崩溃时,全局异常处理程序不记录任何内容。这是否意味着这个例外没有被这篇文章中给出的两个例子所捕获?我还没有尝试写入内存转储。 – Andrei 2012-02-15 11:13:35