VSCodeは、remote WSL で WSLに繋ぐ。
workspaceは WSL の中の、/home/myname/atcoder/ 。
tasks.json と launch.json はさらにその中の .vscode/ の中。
tasks.json
デバッグ用の実行形式は a.dbg
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "/usr/bin/g++",
"args": [
"-std=gnu++17",
"-g",
"-O0",
"-o",
"${workspaceFolder}/a.dbg",
"${file}",
],
"group": {
"kind": "build",
"isDefault": true
},
"options":{
},
"problemMatcher": ["$gcc"],
"presentation": {
"close": false,
"echo": true,
"reveal": "silent",
"focus": true,
"panel": "shared",
"showReuseMessage": true,
"clear": false
}
}
]
}
launch.json
[F5]で、上で作った a.dbg に、in.txt を標準入力で入れる。
in.txt に sample をコピペして [F5] を押せば、そのままサンプル実行できる。
{
"version": "0.2.0",
"configurations": [
{
"name": "remote WSL gdb",
"type": "cppdbg",
"request": "launch",
"program": "a.dbg",
"args": [
"<",
"in.txt"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/",
"environment": [],
"externalConsole": true,
"pipeTransport": {
"pipeCwd": "/",
"pipeProgram": "bash",
"pipeArgs": ["-c"],
"debuggerPath": "/usr/bin/gdb"
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
}
]
}
0 件のコメント:
コメントを投稿