我正在使用带有 CMake 工具扩展的 VS Code,并且我想运行一个简单的 MPI 程序。一切都编译得很好,我可以使用
在终端中运行我的代码mpiexec -n 6 "path-to-my-workspace\build\my-executable.exe"
但是,我想进行一些设置,以便当我按 Control + Shift + P >“CMake:运行而不调试”(或 Shift F5)时自动执行。
我在 CMake 工具文档中读到,我可以在 launch.json 文件中创建新的启动目标。但是,VS Code 文档指出
launch.json 文件用于在 Visual Studio Code 中配置调试器。
我想要它用于调试,但也用于发布。我还应该使用 launch.json 文件吗?过去当我需要将参数传递给我的主函数时,我遇到了同样的问题。使用 CMake 工具在 VS Code 中执行此操作的正确方法是什么?
这听起来像是两个与术语相关的混乱案例。
在 VS Code 中,有“运行代码”和“运行而不调试”的操作。您可以在这个问题中找到更多关于两者之间区别的信息。简而言之,“运行代码”在调试器程序(如 gdb)中运行程序,“运行而不调试”也运行该程序,但不在调试器程序中运行它。
两种最常见的构建模式是“调试”和“发布”,其中调试包含启用在调试器中运行的调试符号,而发布则不包含调试符号,而是通过更多优化进行构建。 VS Code 可以运行两种类型的构建而无需调试,并且可以在调试器中运行调试构建。对于发布版本,它只能在调试器之外运行。
您指定只关心在调试器之外运行。
回答您的问题“我是否仍应使用 launch.json 文件?”,是的,您仍可以使用 launch.json 文件。
cmake.debugConfig
设置,它将与 CMake 工具为调试目标提供的功能集成。
另外,注意:
提示:“运行”操作始终可用,但并非所有调试器扩展都支持“运行”。在这种情况下,“运行”将与“调试”相同。
另一个注意事项:如果您想要运行的程序不是项目的构建输出,那么您可能想使用
tasks.json
。