Tag: 崩溃转储

在Windows Phone 8.1上捕获转储

我正在开发一个Windows Phone 8.1应用程序。 我想添加一个function, 每当应用程序崩溃时,捕获内存转储并将其写入日志 。 我想知道当用户在手机上使用应用程序并且崩溃时,是否有任何方法可以记录崩溃转储。 我发现这个问题与我的相似,但适用于Windows 8 。 它说我们可以在App.xaml.cs中使用‘Application_UnhandledException’方法来获取转储。 但这种方法是否也支持Windows Phone 8.1,因为我没有在App.xaml.cs的自动生成内容中看到这一点(由Visual Studio生成并包含OnActivated,OnLaunched等function) UnhandledException事件处理程序是否在Windows Phone 8.1中执行此操作?

Application.ThreadException与AppDomain.UnhandledException

首先是一些背景:我有一个multithreadingWinForms应用程序,它与本机dll互操作。 这个应用程序有时会因未处理的exception而崩溃,我们正试图调查它为什么会发生。 为了方便它,我正在创建一个全局exception处理程序,我计划从中生成进程转储文件。 现在提出问题:截至目前,这个应用程序已经有Application.ThreadException处理程序,但它仍然与未处理的exception崩溃。 我正在考虑为AppDomain.UnhandledException添加一个处理程序,虽然我不确定它是否会有所帮助。 在此方案中是否存在任何可能未被Application.ThreadException捕获的未处理exception?

如何使用WinDBG列出所有托管线程的调用堆栈?

我有一个托管应用程序创建的转储。 我正在使用SOS / SOSEX扩展来简化我的转储分析。 我想列出所有托管线程的调用堆栈,因为我们使用本机应用程序执行~*kb 。 我们怎么做?

调试C#代码时的符号问题

我正在使用WinDbg从托管代码(C#,为任何CPU构建的控制台应用程序)加载故障转储,并在x64平台上创建故障转储。 我在x64平台上进行调试。 我已将相关的PDB文件放入符号路径中。 但WinDbg总是从一个奇怪的文件夹中找到符号。 这是一个例子(当我使用时!sym noisy): SYMSRV: c:\MySymbols\FooService.pdb\4311207E2E2D442CB7473828D2488F941\FooService.pdb not found 我的应用程序称为FooService.exe ,相关的PDB文件名为FooService.pdb 。 我已将C:\MySymbols设置为符号路径,并将FooService.pdb复制到目录C:\MySymbols 。 但是为什么WinDbg在C:\MySymbols找不到FooService.pdb ,而是从一个奇怪的子文件夹“FooService.pdb \ 4311207E2E2D442CB7473828D2488F941”? 在我的场景中,为了加载PDB符号文件,最好的解决方案是什么(我必须自己手动创建子文件夹FooService.pdb\4311207E2E2D442CB7473828D2488F941 )?