调试C#时,是否有更简便的方式仅在报错时触发断点?
调试C#代码时捕获异常断点的更简便方法
不需要额外编写try/catch块,直接利用调试器的异常断点功能即可实现,以下是具体操作:
全局CLR异常断点
- 在Visual Studio中按快捷键
Ctrl+Alt+E打开「异常设置」窗口,或者通过菜单路径:调试 → 窗口 → 异常设置 - 勾选「Common Language Runtime Exceptions」前的复选框
- 调试时,只要有.NET异常抛出(无论是否被catch),调试器都会自动暂停在异常发生的代码行,精准定位问题
- 在Visual Studio中按快捷键
特定类型异常断点
若只需关注某一类异常(比如NullReferenceException),展开「Common Language Runtime Exceptions」列表,找到对应异常类型单独勾选即可,避免无关异常打断调试流程条件异常断点(进阶)
右键目标异常类型,选择「设置条件」,可添加自定义条件(比如异常消息包含特定关键词),仅当条件满足时触发断点,适合定位特定场景下的异常
相比手动添加try/catch和断点的方式,这种方法无需修改代码,还能直接定位到异常抛出的具体位置,调试效率更高。
内容的提问来源于stack exchange,提问作者Shiv-iwnl
相关产品推荐
相关产品推荐

