我正在使用VS Code在Ubuntu上调试应用程序,使用launch.json文件和cmake来构建和调试。这工作正常,我可以按预期在终端中看到程序的输出。但是,我想自动将此输出保存到文件中。我这样做的方式通常是类似于mycommand > terminal_output.txt
,但是我找不到使用 launch.json 文件复制它的方法,或者通过终端运行调试(例如,类似于debug --flags launch.json > terminal_output.txt
行(。
这是我的launch.json供参考:
{
"version": "0.2.0",
"configurations": [
{
"name": "g++-8 build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++-8 build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
有没有办法以简单的方式做到这一点?
由于我使用的是 cmake,因此我能够在settings.json
文件中使用cmake.debugConfig
来实现这一点:
{
"cmake.debugConfig": {
"args": [
">",
"test.txt"
]
}
}
然而,在launch.json
中添加"args"
不起作用。
-
install CodeLLDB 扩展
-
launch.log:在 CodeLLDB 启动配置中添加
"stdio": [null, null, "debug.log"]//stdin/stdout/stderr
CodeLLDB 的 stdio 重定向