VSCode调试模式下Sentry不记录错误,但flutter run运行正常
可能的原因及排查方向
Flutter调试模式的错误拦截机制
Flutter在调试模式下会自动捕获所有未处理异常并在控制台/DevTools展示,这个机制可能优先于Sentry的错误捕获逻辑,阻止异常传递到Sentry SDK。可以尝试在调试模式下手动抛出未被try/catch包裹的异常,或者检查Sentry初始化代码中是否有基于kDebugMode的判断,是否被设置为调试模式下禁用上报。VSCode launch.json配置变更
检查.vscode/launch.json中的配置,是否新增了--disable-exception-handling这类影响错误捕获的启动参数,或者修改了flutterMode设置。部分Sentry SDK版本会默认关闭调试环境的上报,若VSCode的Flutter插件更新后自动调整了配置,也可能出现这个问题。依赖包自动更新
即使未修改代码,pubspec.lock中的依赖也可能因宽松版本约束自动更新。检查Sentry Flutter SDK的版本是否有变动,新版本可能调整了调试模式下的默认行为。可以尝试回退到上周能正常工作的SDK版本,验证是否恢复正常。热重载导致的Sentry初始化异常
调试模式下频繁热重载可能破坏Sentry的初始化状态。尝试完全重启调试会话(而非热重载/热重启),再测试错误上报是否正常。若重启后恢复,说明是热重载导致的SDK状态异常,可考虑在初始化Sentry时添加防抖或热重载后重新初始化的逻辑。
内容的提问来源于stack exchange,提问作者bringand1
相关产品推荐
相关产品推荐

