リリース モードでビルドするシェル拡張機能があり、デバッグ シンボルと .pdb ファイルも生成します。コンテキスト メニュー拡張機能の .dll ファイルをビルドする Visual Studio プログラムを、実行中の explorer.exe プロセスにアタッチします。プログラムがアタッチされている間、次のようなエクスプローラー プロセス イベントを出力ウィンドウで確認できます。
'explorer.exe': Unloaded 'C:\Windows\System32\mydocs.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\sendmail.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\zipfldr.dll'
The thread 'Win32 Thread' (0x16d8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1650) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1070) has exited with code 0 (0x0).
しかし、関数 Initialize (IshellExtInit クラスを継承して実装するクラスから) に設定したブレークポイントには到達しません。ファイルを右クリックすると、右クリック メニューがカスタム コンテキスト メニューで初期化され、目的のアクションが実行されますが、ブレークポイントにヒットすることはありません!! ごみ箱のコンテキスト メニューを登録しようとしても機能しないため、デバッグ方法を知りたいです。コードで何が起こっているかを確認したいです。ごみ箱に登録するためのコードは、この投稿で見つけることができます: ごみ箱の登録