Win32APIが呼ばれたときブレークポイントを設定する

CreateProcessでブレークポイント

CreateProcessでブレークポイントを設定するには、新規ブレークポイントで以下のように入力する。

kernel32.dllはこの関数を実装しているDLL40、はこの関数の引数のバイト数だと思われる。

CreateProcessにブレークポイント

このやり方でうまくいかない場合

プログラムの最初の方で適当なブレークポイントを設定し、以下のコードの結果を調べる。

このアドレス値でブレークポイントを設定する。
アドレスでブレークポイント

アドレスでブレークポイント設定"

ShellExecuteExなどはCreateProcessを他のスレッドで呼ぶらしい。その場合はデバッグの場所でメインスレッドを指定する。
メインスレッドを選択

スタックトレースがうまく表示されないときはシンボルのロードをする。

追記:Visual Studio 2017以降で動かない場合

関数ブレークポイントの設定で以下のように入力する(アンダーバーと@以下を削除する)。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)