chromium をブレイクポイントで止めてみる
chromium に Visual Studio を使ってブレイクポイントを設定(実行の停止)してみます。
本家サイトはこちらです。Debugging Chromium on Windows
この記事では VsChromium を使用する方法を紹介します。
VsChromium ダウンロードとインストール
VsChromium とは Visual Studio の拡張機能です。Chromiumのソースコード読み込みやプロセスへのアタッチが簡単になります。Visual Studio のバージョンは 2022 ですが、VsChromium が対応しているバージョンは 0.9.39 となります。それ以前のものはインストール時にエラーとなります。
正しくインストールされているかを確認します。
chrome.exe 子プロセスPID表示して直後にWAITさせる
デバッグ対象を chrome.exe の子プロセス(CrRendererMain)とします。そのプロセスを起動直後に待つオプションを使用します。
C:\src\chromium\src>out\Default\chrome.exe --renderer-startup-dialog --no-sandbox
Visual Studio 2022 から chromium アタッチする
VsChromium がインストールされた Visual Studio 2022 を使ってchromiumのプロセスにアタッチ(接続)します。
アタッチした後で手動でプログラム停止(デバッグメニューからすべて中断を選択)します。そうするとソリューションエクスプローラーに Source Explorer としてソースツリーが表示されます。
この時点からブレイクポイントが設定可能です。
CrRendererMain の直前でブレイク
こちらの記事でお伝えした CrRendererMain の手前にブレイクポイントを設定し、プロセスをRenderer starting with pid:のプロセス番号に合わせてから Visual Studio を続行(Continue)させます。次に Chromium を停止させているメッセージボックスのOKボタンを押すと、設定済みのブレイクポイントで停止します。
注意事項 Visual Studio を閉じるとブレイクポイントが消えてしまう
VsChrome の拡張機能を使ってソースコードを読み込んでいます。従って、ブレイクポイントは Visual Studio を閉じて次に開いても残っていません。使用にはその点に注意する必要があります。