bash on windowsでのコンパイル環境作成
VisualStudioCode?でgdbデバッグする環境作成 †
bunnnycoindをVisual Studio Codeでデバッグする環境を作成する。
- VisualStudioCode?インストール(以後VSCodeと記述する)
- VSCodeでbunnycoinフォルダを開く
- VSCodeを起動して、メニューから「ファイル」>「フォルダーを開く」でbunnycoinフォルダを指定してフォルダを開く
- 開くと、bunnycoinフォルダに ".vscode"フォルダが作成される。 bunnycoinを編集する際のVSCodeに関する設定がここに入る。
- C/C++拡張機能のインストール
- メニューから、「表示」>「拡張機能」を選択する。
- 拡張機能で c/c++ を検索して microsoft から提供されている c/c++ 拡張機能をインストールする。
- ターミナルのシェルをbashに変更
- メニューから「ファイル」>「基本設定」>「設定」を選択する。
- 画面右あたりの「ワークスペースの設定」をクリック。
- settings.json に以下2行追加して保存
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",
"files.eol": "\n"
- メニューから「表示」>「統合ターミナル」を選択
- 表示されたターミナルがpowershellになっている場合は画面右下あたりターミナルの追加ボタン(+アイコン)をクリックする。
- bashを使用していいか聞かれるので"allow"を選択する。
- これで画面下にbashが表示される。
- これで別ウインドウ開いてコンパイルとかしなくて良くなる。
- gdbデバッグ構成の追加
- メニューから、「デバッグ」>「構成を開く」を選択する。
- launch.jsonが表示されるので中身を以下のように変更
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Bash on Windows Launch",
"type": "cppdbg",
"request": "launch",
"program": "~/bunnycoin/src/bunnycoind", //ここ自分の環境に合わせる
"args": [],
"stopAtEntry": false,
"cwd": "~/bunnycoin/src", //ここ自分の環境に合わせる
"environment": "-datadir=/mnt/d/home/oquto/.bunnycoin/test1", //ここ自分の環境に合わせる
"externalConsole": true,
"pipeTransport": {
"debuggerPath": "/usr/bin/gdb",
"pipeProgram": "C:\\Windows\\sysnative\\bash.exe",
"pipeArgs": ["-c"],
"pipeCwd": ""
},
"sourceFileMap": {
"/mnt/d": "d:\\" // ここ、ubuntuのホームフォルダをおいているドライブになるように書き換え
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
- デバッグ動作テスト
- 適当なソース(init.cppのAppInit?とかやりやすい)開いてブレークポイントを設定
- 行数の左側クリックすると赤丸(ブレークポイント)が設定される
- メニューから「デバッグ」>「デバッグの開始」するとブレークポイントで実行が止まり、色々出来るようになる。