这里有两个可能的问题(两个因为我假设你试图在实际参与编译的代码上设置断点,而不是例如.NetFramework代码......并且因为你没有指定一种语言我希望它是C#或VB.net)。
- 未生成PDB。要修复:在解决方案中的每个项目上,您需要激活bereakpoints,转到项目属性 - >构建标签 - > (在属性表的最后,可能需要滚动)单击“高级”按钮。在出现的对话框中,设置Debug Info ==>充分。重建解决方案(Build - > Rebuild solution)。
- PDB已就位,但加载的图像与可用的调试信息不对应。如果第一种方法没有帮助,请再次启动调试会话。现在转到Debug> Windows>模块。对表进行排序以查看加载的DLL的路径。检查项目生成的DLL的路径。这些dll可能是从GAC或其他注册地点加载的。如果是这样 - 你需要卸载有问题的应用程序,或者手动从GAC中删除DLL,或者做一些其他技巧。无论如何,如果是这种情况 - 我建议咨询从事该代码的其他团队成员。
- 可能是模块最初未加载,您必须对应用程序执行某些操作才能触发此操作。然后断点将激活。
- 如果从正确的路径加载模块,但断点无论如何都不起作用,请停止调试,重启PC(是的,我不是在开玩笑),手动清除 ALL 。\ bin和。\解决方案中的obj文件夹,然后再次启动Visual Studio并重建解决方案。启动调试会话并使用模块视图确保从正确的位置加载模块及其符号。
醇>