なんとなく git/git をソースからビルドしてデバッグすることになりました。
README や Wiki が古かったりして、結構詰まったので、やり方。
まず、 Visual Studio 2022 (or 2019) で、 git/git をクローンした場所をフォルダーとして開きます。
開くと、「CMakeLists.txt
を検出したから、適当に選んでね!」って言われるので、以下のディレクトリにあるものを選択します。
git/contrib/buildsystems/CMakeLists.txt
設定を開いてしまった場合は、以下のように記述すれば良い。
{ "enableCMake": true, "sourceDirectory": "contrib/buildsystems" }
選ぶと、 Visual Studio が裏で良い感じにセットアップしてくれる。割と時間かかるので注意。
セットアップが終わったら、いつも通り上の実行ボタンに git.exe
が表示されるので、そこからデバッグできます。
ただし、このままだと git.exe
がそのまま実行されるだけなので、ヘルプメッセージのデバッグでもしない限りは無意味です。
ということで、次は起動設定を変更します。
起動設定は、 Debug > Debug and Launch Settings for git
から編集できます。
設定の実態は launch.vs.json
なので、それを元に設定します。
例えば、 git add
についてデバッグしたければ、したのように設定してあげれば、 git add
の動作についてデバッグできるようになります。
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "contrib\\buildsystems\\CMakeLists.txt", "projectTarget": "git.exe", "name": "git.exe" }, { "type": "default", "project": "contrib\\buildsystems\\CMakeLists.txt", "projectTarget": "git.exe", "name": "git add", "args": [ "-C", "M:\\repos\\github.com\\mika-f\\git", "add", "." ] } ] }
MS Docs にドキュメントがあるんだけど、微妙に嘘ついていたりするので、そこだけ注意。
なんか一部設定項目が効いていなかったりするので、それは良い感じにする (cwd
とか program
とかは Local Machine だと効いていないっぽい)。
ということで、メモでした。