Windows下VSCode调试Envoy报错bad DWP hash table求助
解决VSCode调试Envoy时“bad DWP hash table”错误的方案
问题场景
在Windows系统中使用VSCode调试Envoy,已通过命令:
tools/vscode/generate_debug_config.py //source/exe:envoy-static --args "-c envoy.yaml"
成功完成构建,但启动调试器时触发错误:vscode gdb debugger failed: bad DWP hash table,相关截图如下:


可行解决方法
- 升级GDB版本:该错误多由GDB对DWP(Debugging With Positions)文件的解析兼容性问题导致,将GDB更新至最新稳定版,可修复旧版本存在的DWP哈希表解析bug。
- 禁用DWP文件生成:构建Envoy时通过Bazel参数关闭DWP文件生成,修改构建命令为:
或者直接用Bazel命令构建:tools/vscode/generate_debug_config.py //source/exe:envoy-static --copt=-gdwarf-4 --copt=-gno-dwarf2-cfi-asm --args "-c envoy.yaml"bazel build //source/exe:envoy-static --copt=-gdwarf-4 --copt=-gno-dwarf2-cfi-asm - 检查并调整VSCode调试配置:打开
.vscode/launch.json,移除配置中可能存在的DWP相关自动加载设置,或手动指定调试符号路径,避免加载损坏的DWP文件。 - 清理缓存后重建:先执行
bazel clean清理构建缓存,再重新运行构建命令生成调试配置,排除缓存中损坏的DWP文件影响。
内容的提问来源于stack exchange,提问作者nainaigu
相关产品推荐
相关产品推荐

