起きたエラー
以下の記事を参考にしてVisual Studio Codeに競プロ用の環境を構築していました。
構築が完了した後、デバッグを行うと以下のようなエラーが出てしまい、デバッグがうまくいきませんでした。
ちなみに詳細に理解できておらず申し訳ないですが、エラーに表示されているパスは
C:\Windows\System32\bash.exe
を指しているようで、そこにbash.exe
が存在していることは確認しました。
対応(暫定)
参考にした記事のlaunch.jsonを下記のように修正することで対応しました。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Bash on Windows Launch",
"type": "cppdbg",
"request": "launch",
"program": "${command:extension.vscode-wsl-workspaceFolder}/problem.exe",
"args": ["<", "${command:extension.vscode-wsl-workspaceFolder}/problem.in"],
"stopAtEntry": false,
"cwd": "${command:extension.vscode-wsl-workspaceFolder}",
"environment": [],
"externalConsole": true,
"pipeTransport": {
"debuggerPath": "/usr/bin/gdb",
//"pipeProgram": "${env:windir}\\system32\\bash.exe", // 修正前 (コメントアウト)
"pipeProgram": "\\Windows\\System32\\bash.exe", // 修正後
"pipeArgs": ["-c"],
"pipeCwd": "/"
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"sourceFileMap": {
"${command:extension.vscode-wsl-workspaceFolder}": "${workspaceFolder}"
},
}
]
}
コメントアウトした部分"pipeProgram": ${env:windir}\\system32\\bash.exe
が本来C:\Windows\System32\bash.exe
を指してくれるはずなのですが、なぜかエラーが起きてしまいます。そこで、環境変数などを使用せずに直接bash.exe
のパスを指定して対応した次第です。
元記事のコードの内容を修正したために暫定の対応としておりますが、この修正後はデバッグでエラーが発生していません。
以上です。
参考