处理了无效的程序异常

时间:2010-12-04 08:21:51

标签: .net visual-studio winforms exception

我收到此错误,并且当我使用F5调试应用程序时,公共语言运行时检测到无效程序。如果我使用CNTRL + F5,它可以正常工作,任何人都可以告诉它。

实际上只有在我添加了XHEO的许可软件DeployLX许可时才会出现这个问题。

2 个答案:

答案 0 :(得分:4)

您遇到的行为无疑是您的应用程序在附加调试器的情况下运行的结果。当您使用 Ctrl + F5启动应用程序时,你告诉Visual Studio“开始无需调试”,而只需按 F5 ,告诉Visual Studio“开始调试”。两个命令之间的区别仅在于前者将调试器附加到代码的进程中。请注意,这与与Debug构建和Release构建之间的差异相同!无论是否附加调试器,都可以运行构建类型。

在没有附加调试器的情况下运行应用程序意味着几件不同的事情:

  • 不会触及断点
  • 未加载调试符号(.PDB文件),因此无法单步执行代码
  • 不会执行涉及System.Diagnostics.Debug类的语句
  • 在C ++中,变量不会被初始化为默认值(而是保留为未初始化)

在你的情况下,我猜你所看到的异常被捕获并被处理到堆栈中更高的位置(可能是由DeployLX许可提供的一些代码,尽管我不是我对此一无所知并且从未使用过它,因此除非你附加调试器,否则不会显示。附加调试器后,将记录并显示异常以供参考,无论是否正确处理。

您没有完全解释 这个错误的显示位置以及您如何“获取”它。但是,如果您想要在调试器附加到运行代码的进程时自定义处理异常的方式,请打开“Debug”菜单并单击“Exceptions”选项。从那里开始,如果您想查看抛出异常的代码,您可以选择中断所有异常,甚至是那些处理的异常。

答案 1 :(得分:0)

根据此question Clean Solution 可能是一个不错的选择。