我是否有.Net API将Windows Error Reporting集成到我的应用程序中?
即使我的应用程序中发生非灾难性错误,我也最感兴趣的是启动错误报告,而我能找到的只是WIN32 API。
答案 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;