如何在Visual Studio中忽略DLL中的断点

4
我正在使用一款没有源代码的第三方dll。它运行得非常好,但每次我运行程序时,都会弹出一个烦人的窗口,显示"MyProgram.exe已触发断点"。
如果我按继续,我的程序就能完全正确地运行。 如果我按断点,我可以看到断点发生在第三方文件alp41basic.dll中。
我不知道他们为什么要在他们的dll中放置断点。我该如何禁用它们?
我的问题与一个未被回答的问题完全相同: https://stackoverflow.com/questions/17514072-is-there-a-way-to-make-visual-studio-continue-when-an-exception-occurs-on-a-line

你尝试过在VS中使用“禁用所有断点”吗?这应该只是调试菜单中的一个复选框。我不记得那是只针对你自己的代码还是所有代码。 - Happington
我非常怀疑他们在他们的dll中设置了断点。更有可能的是,出现了异常,并且您在调试器中启用了异常中断。 - drescherjm
如果不是这种情况,那么我的下一个解释就是你的程序并没有真正地100%正确运行,并且你正在使用由不同编译器创建的dll,这会导致堆损坏或其他与不匹配的crt相关的问题。 - drescherjm
2
这也可能是 if (IsDebuggerPresent()) DebuggerBreak(); 的一个实例,这会成为一个不错的问题。这些函数可能是搜索替代方法的好关键词。 - Michael Urman
1个回答

1
我最终联系了分发该dll的公司,确实存在断点,但出于某些原因我不会详细说明。然而,如果我在调试器外运行程序(甚至只是从Windows打开二进制文件),这些弹出窗口就不会出现。
感谢大家的帮助!

这个方法是可行的,但如果没有调试器的支持,调试应用程序将非常困难。相反,请尝试使用“调试”->“禁用所有断点”。 - Cody Gray
@ Cody 谢谢;不幸的是我在调试菜单中找不到那个选项。有一个“删除所有断点”的选项,但它是灰色的。 此外,我实际上可以进行调试,只是需要点击掉那些烦人的弹出窗口! - Anthony Fouad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接