mws*_*wso 6 gdbserver visual-studio-code
我正在尝试为 VS Code 编写一个可以gdbserver作为 preLaunchTask 启动的启动配置。
当我开始调试时,当 gdbserver 说“Listening on port XXXX”时,一切都会停止
我在网上找到了许多其他调试器方法的示例,但没有任何特定于 gdbserver 的示例。
我尝试设置isBackground无济于事true,同时尝试设置problemMatcher
我也找不到任何似乎解释如何编写自己的文档problemMatcher。
那么,如何编写一个任务来启动 gdbserver 作为调试器的 preLaunchTask 的一部分?
这是我启动 gdbserver 的任务
{
"label": "run",
"type": "shell",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated"
},
"options": {
"cwd": "${workspaceRoot}/build"
},
"command": "ssh",
"args": [
"root@remote",
"'gdbserver localhost:9091 program'"
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的启动配置
{
"name": "Remote Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/build/program",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "run",
"miDebuggerServerAddress": "remote:9091",
"miDebuggerPath": "aarch64-sbs-linux-gdb"
}
]
Run Code Online (Sandbox Code Playgroud)
小智 6
我和你有同样的问题。我使用模式匹配器运行它并在后台运行它。该任务仅启动远程目标上的 gdbserver。它不会编译文件或将文件发送到远程目标。
{
"type": "shell",
"label": "Start gdbserver",
"command": "ssh",
"args": [
"root@remote",
"gdbserver localhost:3000 ${fileBasenameNoExtension}"
],
// "dependsOn": [
// "optional build task"
// ],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"group": "build",
"detail": "Starts the gdbserver and waits for success",
"isBackground": true,
"problemMatcher": {
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Process*",
"endsPattern": "^.*Listening*"
}
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3069 次 |
| 最近记录: |