Visual Studio で libclang.dll のデバッグ環境 その2

前回の続きです。
前回は、すでに libclang.dll をロードしているプロセスに対してアタッチしましたが、次は Visual Studio 上からプロセスを起動してデバッグしてみたいと思います。
今回は、Visual Studio から Python を起動して、libclangPythonモジュールのデバッグを行いたいと思います。

[環境]

[Visual Studio のソリューションを用意]

これは前回と同じです。

1.スタートアッププロジェクトの変更

ソリューションのプロパティを開いて、【シングル スタートアップ プロジェクト】から【libclang】を選択します。


これで、デバッグ実行時に libclang のプロジェクトが呼ばれるようになります。

[注意]

設定を変更してから llvm 自体のビルドを行う場合は【ALL_BUILD】に設定を戻す必要があるので注意して下さい。

2.libclang プロジェクトの設定

libclang プロジェクトのプロパティを開き【デバッグ】を選択して以下の様に設定を行います。

コマンド python.exe へのパス
コマンド引数 libclang を使用している .py のファイルパス
作業ディレクト libclang.dll へのパス( $(TargetDir) 等)


例えば、

C:\Python27\python.exe D:\test\test.py

の様なコマンドで設定したい場合

コマンド C:\Python27\python.exe
コマンド引数 D:\test\test.py
作業ディレクト $(TargetDir)

といった設定になります。

3.$PYTHONPATH の設定

Python から libclang が import できるように 環境変数に $PYTHONPATH を設定します。

変数名 PYTHONPATH
変数値 D:\LLVM\llvm\tools\clang\bindings\python

[注意]

変数値のパスは、手元の環境に合わせて変更して下さい。
また、環境変数の設定後は念のため Visual Studio の再起動を行って下さい。

4.デバッグ実行

上記の設定が終わったら、通常の Visual Studioデバッグを行うような形で、ブレークポイント等を設置して【デバッグ開始】をします。


これで、Visual Studio から Python を起動してデバッグを行うことが出来ました。
やったね!

[注意]

前回と同様にデバッグ用の libclang.dll が正しくロードされていない場合は、うまくデバッグ出来ません。
デバッグなしで開始】した場合は、Python の出力を見ることが出来るので、エラーが出ていないか確認してみてください。