2015-09-15 41 views
11

我在Windows 7的笔记本电脑运行Visual Studio 2015年,每一次我开始在IDE中的调试器的应用程序,我提出以下情况例外:Visual Studio 2015 - 如何在开始调试应用程序时停止EntryPointNotFoundException?

无法找到名为“EventSetInformation”的切入点在DLL'advapi32.dll'中。

enter image description here

我在coreclr repository on github表明这是在Windows 8我的情况是类似的GitHub的问题增加了一个API找到引用此,我可以点击“继续”无视异常和我的应用程序运行得很好。然而,这真的很烦人,因为我不能等待这个异常被抛出才能开始调试应用程序,所以我可以手动继续。

我的问题是,是否有人知道,如果我可以防止这种例外从IDE打破?这种情况目前只是一个令人讨厌的问题,但我希望摆脱这种情况。

作为参考,在这种情况下,改变Visual Studio中的例外设置似乎并没有改变行为。下面是截图都启用和禁用CLR例外,例外一起:

CLR例外禁用 screenshot with CLR exceptions disabled

CLR例外启用 screenshot with CLR exceptions enabled

解决方案

这是由一个普通的德似乎忽略了任何异常特定设置的错误选项。正如@John在他的回答中所指出的那样,有一个禁用的调试器选项可以阻止这种行为。当这个选项被检查我会拿到破发点中的说明,但取消选中它停止的是,提供什么,我一直在寻找:

Option to remove to disable this behavior

+0

只是不要问调试器停止时,抛出该异常。调试> Windows>异常设置。点击“公共语言运行时例外”复选框,直到它变成一个坚实的矩形。 –

+1

@HansPassant感谢您的建议,但在这种情况下,更改CLR异常是否应该中断不会改变VS的行为方式。我会用截图更新这个问题来证明这一点。 –

+0

您可以将目标框架更改为4.5.2而不是4.6? –

回答

14

通过屏幕截图的样子,我会想你已启用调试器选项“当异常跨AppDomain或托管/本地边界时中断”。转到Debugger-> Options并取消选中该选项(从顶部开始第三个)

+0

就是这样!我已经通过截图显示了这个设置来更新答案。谢谢@约翰。 –

+0

我的歉意@John ...我以为我已经接受了这个答案,但昨天意识到我没有。感谢您提交它。 –

6

一位同事刚刚触及此问题,他必须检查Tools - > Options - > Debugging中的'Enable Just My Code' - >常规,同时清除“当异常跨AppDomain或托管/本地边界时中断”的检查。

+0

这对我很好。 – Contango

+0

嗯我不知道这是为什么抛出或这意味着什么,但它没有窍门+1 – ChenChi

0

看到这个截图,我已经启用了调试器选项“休息的时候的跨应用程序域或管理/本地的界限”。转到Debugger-> Options并取消选中该选项。它的工作很好。 enter image description here

相关问题