执行(能/代码)代码中无法访问的断点

时间:2010-03-22 19:55:32

标签: c++ debugging dll c++-cli breakpoints

我有两个DLL,一个用本机C ++编写,另一个用C ++ / CLI编写。前者被注入一个过程,并在稍后的时间点加载后者。在调试时,我注意到本机DLL的断点正常运行而另一个断点没有,即使它的代码正在执行。

断点显示此消息:此断点不会被命中。没有与此行关联的可执行代码。可能的原因包括:预处理程序指令或编译器/链接器优化。

模块窗口告诉我插件的符号已加载。我正在使用它的DEBUG构建。关于为什么会这样,也许是一个修复的任何想法?

2 个答案:

答案 0 :(得分:1)

我假设您正在使用Visual Studio。你是否打开了混合模式调试?

(项目属性 - >调试 - >调试器类型)

答案 1 :(得分:1)

您面临的原因是PDB(“PDB代表程序数据库,一种专有文件格式(由Microsoft开发)用于存储有关程序的调试信息)不是最新的。

尝试清理解决方案(包含托管代码DLL)并重新构建它。

提示:如果您指的是DLL,请尝试将最新的pdbs放在旁边。您可以从bin文件夹中获取pdbs。