是否存在用于Windows错误报告的.Net API

时间:2010-01-17 21:10:43

标签: .net windows windows-error-reporting

我是否有.Net API将Windows Error Reporting集成到我的应用程序中?

即使我的应用程序中发生非灾难性错误,我也最感兴趣的是启动错误报告,而我能找到的只是WIN32 API

4 个答案:

答案 0 :(得分:2)

不太可能。 WER并不意味着应用程序使用,用户可以选择启用它,以及何时执行,所有应用程序崩溃都会转换为Windows错误报告并发送到中央服务器。这不是你为个别应用程序打开和关闭的东西。您通过崩溃在用户启用了WER的计算机上生成错误报告。

开发人员只需注册即可获得有关其产品的崩溃信息。

来自http://msdn.microsoft.com/en-us/library/bb513641(VS.85).aspx

  
    

开发人员可以注册Windows Quality Online Services,以获取客户在其应用程序中遇到的问题的信息,并帮助客户解决这些问题。开发人员还可以使用Application Recovery和Restart来确保客户在应用程序崩溃时不会丢失数据,并允许用户快速返回任务。

  

我确定你可以使用互操作来调用WER api,如果你想生成一个没有崩溃的报告。

答案 1 :(得分:1)

WER团队有一个关于Codeplex的项目;可以从http://www.codeplex.com/wer/Release/ProjectReleases.aspx?ReleaseId=12825

下载托管服务DLL

答案 2 :(得分:0)

您可以使用System.Diagnostics.EventLog

答案 3 :(得分:0)

在我向微软提出的问题上,我得到了以下答案:

请查看以下网址,了解有关收集崩溃转储过程的更多信息。

msdn.microsoft.com/en-us/windows/hardware/gg487440.aspx blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx http://blogs.msdn.com/b/wer/archive/2009/03/16/faq.aspx

在那里我找到了这个样本:http://www.microsoft.com/en-us/download/confirmation.aspx?id=29229 但它不起作用。现在我正在努力解决问题。也许对某人有用。

更新: 我解决了这个问题。我对NTLM有授权问题: - )。

在此代码之前:

string challenge = LiveIdAuthentication.GetChallengeFromServiceRequest(request.RequestUri.AbsoluteUri);

我添加了这个:

IWebProxy webProxy = WebRequest.DefaultWebProxy;
webProxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = webProxy;