1. 断点样式与提示
• 悬停断点看提示:如果是空心或带黄色警告,通常是“符号未加载”或“源与二进制不匹配”。
2. 确认生成/符号
• 确保使用 Debug 配置生成(不是 Release)。
• 清理并重建解决方案(删除 bin/obj 后重建)。
• 在项目属性 -> Build -> Advanced,确认“Optimize code”关闭,生成 PDB(调试信息为 full 或 pdb-only)。
3. 确认运行的进程/程序集
• 确保启动的是包含该代码的可执行/进程(正确的启动项目或已附加到正确的进程:w3wp/iisexpress/可执行)。
• Debug -> Windows -> Modules:检查对应程序集是否已加载、PDB 是否已加载、加载路径是否与源代码匹配。
4. 源文件与二进制不一致
• 如果源码与运行的 DLL/PDB 不匹配,断点会无效。重建并确保没有加载旧的 DLL(检查输出路径、引用的库版本)。
• Web 项目还需在 web.config 中确保 <compilation debug="true" />。
5. 线程/异步/内联问题
• 代码可能未被执行(条件未满足、提前返回、异常)。
• 优化或内联会让断点失效(尤其是 Release、内联方法、Lambda/表达式体)。
• 异步/任务/不同线程上执行,确认断点处确实会运行到同一线程上下文。
6. 符号与设置
• Tools -> Options -> Debugging -> Symbols:必要时添加符号路径或开启加载符号。
• 可尝试“调试 -> 附加到进程”并勾选正确的代码类型(Managed v4/v2)。
如果需要我可以进一步诊断,请提供:
• 断点悬停时的提示文本截图或文字;
• Debug -> Windows -> Modules 中对应程序集的条目(是否加载 PDB,加载路径);
• 你的项目类型(控制台/WinForms/WPF/ASP.NET)和是否用 IIS/IIS Express。
Copyright © 2010-2022 火龙IP All Rights Reserved.
粤ICP备2020131248号-3 增值电信业务经营许可证:粤B1-20210253 国内互联网虚拟专用网业务:B1-20210463