Set a BreakPoint in the Chromium source

chromium

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 を閉じて次に開いても残っていません。使用にはその点に注意する必要があります。