【问题标题】:How to ignore breakpoints in DLLs in Visual Studio如何在 Visual Studio 中忽略 DLL 中的断点
【发布时间】:2014-07-31 09:19:34
【问题描述】:

我正在使用没有可用源代码的第 3 方 dll。它运行得非常好,但每次我运行我的程序时,都会弹出一个恼人的提示“MyProgram.exe 已触发断点”。

如果我按继续,我的程序会 100% 正确运行。 如果我按下 break,我可以看到断点出现在第 3 方文件 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中使用“禁用所有断点”吗?它应该只是调试菜单中的一个复选框。我不记得那只是你自己的代码,还是所有的代码。
  • 我非常怀疑他们在他们的 dll 中设置了断点。更有可能存在异常,并且您在调试器中启用了异常中断。
  • 如果不是这种情况,我的下一个解释是您的程序没有真正运行 100% 正确,并且您使用的是由不同编译器创建的 dll,这会导致堆损坏或与不匹配相关的其他问题crt.
  • 它也可能是if (IsDebuggerPresent()) DebuggerBreak(); 的一个实例,这可能是一个很好的问题。这些函数可能是搜索替代方法的好关键字。

标签: c++ c visual-studio visual-studio-2012 dll


【解决方案1】:

我最终与分发 dll 的公司联系,确实那里有断点,原因我不会深入。但是,如果我在调试器之外运行程序(甚至只是简单地从窗口打开二进制文件),这些弹出窗口就不会出现。

感谢大家的帮助!

【讨论】:

  • 这行得通,但是如果没有附加调试器,调试您的应用程序将非常困难。相反,请尝试调试 -> 禁用所有断点。
  • @科迪谢谢;不幸的是,我在“调试”菜单中找不到该选项。有一个“删除所有断点”,但它是灰色的。而且我实际上可以调试,我只需要点击那些烦人的弹出窗口!
猜你喜欢
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-10
  • 1970-01-01
相关资源
最近更新 更多