我安装了 Visual Studio 2005(带有 SP1)并将默认设置设置为 C++ 所需的设置。
现在我打开一个解决方案并运行 exe。在“工具”菜单项下,我选择“附加进程”并将其附加到我刚刚运行的 exe 中。我在代码中的几个地方放置了断点(这个断点看起来是启用的),这些是断点绝对应该被命中的地方。但由于某种原因,我的断点没有命中。
PS:所有 pdb 都存在于正确的位置。
有没有我缺少的设置。
我安装了 Visual Studio 2005(带有 SP1)并将默认设置设置为 C++ 所需的设置。
现在我打开一个解决方案并运行 exe。在“工具”菜单项下,我选择“附加进程”并将其附加到我刚刚运行的 exe 中。我在代码中的几个地方放置了断点(这个断点看起来是启用的),这些是断点绝对应该被命中的地方。但由于某种原因,我的断点没有命中。
PS:所有 pdb 都存在于正确的位置。
有没有我缺少的设置。
也许它附加到“错误类型”的代码。
在“附加到进程”对话框中,有一个设置允许您选择要调试的代码类型。尝试单击“附加到”文本框旁边的“选择”按钮并仅选中“托管代码”相关代码类型。
http://img204.imageshack.us/img204/3017/capture5ct4.png
大多数情况下,保留“自动确定要调试的代码类型”设置对我有用。但是,在某些情况下,调试器无法理解我想要附加到托管代码(例如,如果我从批处理文件启动了我的应用程序),当它这样做时,上述解决方案对我有用。
你在调试模式吗?当我尝试在发布模式下执行此操作时,我遇到了这个问题。它没有抱怨,只是没有达到断点。
使用“模块”视图查看您的 exe/dll 是否已加载,如果没有,请指定从何处加载 PDB。