gpt4 book ai didi

cmake - 如何在调试器中运行 CTest 测试

转载 作者:行者123 更新时间:2023-12-04 14:23:16 27 4
gpt4 key购买 nike

假设在 CMakeLists.txt 我有

add_executable(mytarget main.cpp)

enable_testing()
add_test(mytarget_test0 mytarget -option0)

有什么简单的方法可以使用来自某些特定 CTest 测试的所有命令行选项在 GDB 中运行 mytarget 吗? (除了在 CMakeLists 中搜索 test 然后手动将 add_test 参数复制粘贴到命令行?)

现实场景:我用ctest运行所有测试,一个失败,我想在调试器中快速打开它。

在其他构建系统中,有使用 gdb 的命令行参数,例如在 Meson meson test --gdb testname , 在巴泽尔 bazel --run_under=gdbserver .我没有发现任何类似的 CTest

最佳答案

可以使用参数获取测试命令:

ctest -R $regex_matching_test -V -N

作为输出,你会得到类似的东西:
Test project ../cmake-build-debug-gcc7
Constructing a list of tests
Done constructing a list of tests

1: Test command: ../cmake-build-debug-gcc7/my_tool "-v" "test0"
Test #1: my_tool_test0

Total Tests: 1

然后使用正则表达式可以获取 gdb 的命令行参数

关于cmake - 如何在调试器中运行 CTest 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com