2012-09-11 69 views
0

(见下更新)检测异常在Beta测试

虽然VisualStudio的2010环境中运行的,我可以很容易地知道我的WinForm应用程序导致异常。我只需要去Debug |例外情况并确保复选框的两列都被选中。然后我运行该应用程序,如果有任何异常,我会直接丢弃这个有问题的代码。

如何确定测试期间的例外,当我测试版本的测试仪。我不想让测试者在Visual Studio中运行,就像普通用户一样。我仍然想知道是否有例外和相关的细节。

Obviosualy,我应该能够控制的过程,所以,当代码被公布的正常执行情况。

是的,我知道和使用try/catch块,但我说的是类似于Visual Studio的异常捕手和记者的方法,只是可能编译成产品和用于部署beta测试。

也许Visual Studio中具有这样的功能,在这种情况下,如何设置,也可能是第三方组件。

[更新: 我添加了两个子问题,你可以在Unhandled Exception next line or exit找到。

下面提到的解决方案听起来不错,用一个调整可能是工作,只是不是现在。

Visual Studio 2010和现在2012都很棒。异常处理程序被调用,VS在线路中断后可以继续使用,并且我说要继续。我决定在VS2012 IDE之外进行测试,这是件好事。操作系统捕获错误,显示标准为“发生未处理的例外”对话框,提供详细信息以及继续和退出按钮。选择继续,只需继续应用程序,不会陷入我的超级异常处理程序。选择完全,清除应用程序并显示标准关闭窗口对话框。退出按钮也不会调用我的超级处理程序。

目的是让我的异常处理程序被调用。如果我在VS2012 IDE内工作,则不需要超级异常处理程序。处理程序的目的是针对最终用户和测试者测试人员,即除我以外的任何人,并且他们不会拥有我的开发工作站。

所以除非我错过了一些东西,问题仍然是开放的。

里有其他问题的代码示例,足够的复制和粘贴,并创造了几分钟的时间测试应用程序。 ]

由于提前,

萨拉

回答

0

好吧,Google Uberlord对我很吝啬,我发现这篇文章解决了这个问题。赞美全能谷歌。

这里是链接: http://www.switchonthecode.com/tutorials/csharp-tutorial-dealing-with-unhandled-exceptions

基本上,JRadness当时的想法是,只要稍有误差。他应该已经使用

Application.ThreadException += 

new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

而不是

AppDomain.CurrentDomain.UnhandledException += 
    new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

在交换机上的代码笔者谈到的三种方法,其中第一个就是JRadness提出和Windows窗体不起作用。

该autor甚至解决了我的另一个问题继续和中止。操作系统被绕过了。

是啊!

1

我不知道在Visual Studio中的任何自动魔法的方式来报告错误,但这里是我做的。

  1. 钩入应用程序的UnhandledException事件。

  2. 使用日志框架(如nLog或Log4Net)记录从该事件获得的异常和其他数据。或者只是写入一个文本文件。

  3. 从您的应用程序中上传该数据,或让测试人员将其发送给您。

+0

对不起,直到现在没有响应。我尝试了代码,在VS2012 IDE中,异常处理程序被调用,但没有IDE。操作系统处理程序绕过了我在程序中迷住的那个。看到我的其他职位了解更多详情。我必须继续玩弄它。 –

+0

很高兴我能指出你在正确的方向。 – JRadness