You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GDB回溯模式下运行colcon test批量测试包?

在GDB回溯模式下运行colcon测试的方法

当然可以在GDB回溯模式下运行这些colcon测试,你可以通过以下两种方式实现:

方法一:全局启用GDB回溯(所有测试包)

先设置环境变量,让colcon用GDB作为测试执行器,配置GDB在程序崩溃时自动打印回溯并退出:

export COLCON_TEST_EXECUTOR="gdb -ex run -ex bt -ex quit --args"

接着执行你的colcon测试命令:

colcon test --event-handlers console_direct+ --return-code-on-test-failure --packages-select package1 package2 ...

当测试程序崩溃时,GDB会自动输出调用栈回溯信息,之后退出继续执行下一个测试。

方法二:针对指定测试包启用GDB回溯

如果只想给特定包开启GDB调试,可以通过--ament-cmake-args传递启动前缀参数,仅对目标包生效:

colcon test --event-handlers console_direct+ --return-code-on-test-failure --packages-select package1 --ament-cmake-args -DTEST_LAUNCH_PREFIX="gdb -ex run -ex bt -ex quit --args"

额外说明

  • 只有当测试程序发生崩溃(如段错误)时,GDB才会生成回溯信息;程序正常退出时不会输出回溯。
  • 若需要保存回溯到文件,可修改GDB参数,比如添加-ex 'set logging on',将日志写入gdb.txt文件。

内容的提问来源于stack exchange,提问作者Manumerous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:05