はじめに
競技プログラミングでデバッガを使うとき、何度もサンプルを入力させるのは面倒ですよね?
~$ ./a.out < sample
のような感じのことをデバッグするときにも行う方法を書きます。
#環境
macOS Catalina 10.15.6
#手順
- デバッグ用のビルドを行う(gccならg++ -g -o0)
- CodeLLDBをインストールする
- launch.jsonを以下のように設定する
このとき、"stdin"の部分がファイルの入出力を示す。
{
"version": "0.2.0",
"configurations": [
{
"name": "lldb debug",
"type": "lldb", //typeをlldbにすることでCodeLLDBが使える
"request": "launch",
"program": "${workspaceFolder}/a.out",//ビルドした実行ファイルの場所
"args": [],
"cwd": "${workspaceFolder}",
"stdio": ["${workspaceFolder}/sample.in"],//標準入出力したいファイル
}
]
}
- sample.inというファイルをワークスペースに作成し、ここに読み込ませたい標準入力を保存する
- これでデバッガを起動させると、標準入力部分には自動的にsample.inで記述した内容が読み込まれる
#最後に
sample.inへ入力内容を記述すれば、コードを書き直してデバッグするたびに入力をコピペする必要がなくなります。