VSCodeでGDBデバッグするときに標準入力を渡す(Nimで試す)
デバッグするときに標準入力渡せない問題
普段VSCodeでNimを書いていると、ちょくちょくデバッグしたいな〜となります。そこでNative Debugを入れてGDBでデバッグしていたのですが、標準入力を受け付けてくれない問題がありました(もしかしたら僕が知らないだけで方法があるのかもしれません)。
流石にしんどいのでファイルに入力を記述し、パイプで渡そうと思ったのでその設定メモ。
僕はNimですが、おそらくC/C++あたりでも同じなのではないでしょうか。
settings.jsonに設定を記述
今回はプロジェクトに関わらずグローバルで設定を反映させたかったので、settings.json
に記述しています。個別に設定したい場合はlaunch.json
に同様のことを記述すればよいはずです。
以下僕の設定ファイルです。arguments
以外は適当にVSCodeでNimのデバッグ(ステップ実行)あたりを参考にして書いてください。
{
...他の設定とか
"launch": {
"configurations": [
{
"name": "Nim Debug",
"type": "gdb",
"request": "launch",
"arguments": "< ${fileBasenameNoExtension}.input",
"target": "${fileBasenameNoExtension}",
"cwd": "${fileDirname}",
"valuesFormatting": "parseText"
}
],
"compounds": []
}
}
こんな感じで、settings.jsonの下の方にlaunch
以降を追記してあげます。
この設定では、test.nim
があったらコンパイルによって生成しておいたバイナリtest
を実行し、test.input
を標準入力として渡しています。要は"arguments": "< ${fileBasenameNoExtension}.input"
の部分で、引数として< [nimファイル名から拡張子を除いた文字列].input
を渡すことで、パイプで入力を渡しているわけですね。
実際にデバッグ
参考
Author And Source
この問題について(VSCodeでGDBデバッグするときに標準入力を渡す(Nimで試す)), 我々は、より多くの情報をここで見つけました https://qiita.com/kekeho/items/9001e8ff991a8597add5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .