Teratailで偶然DLLのデバッグ方法がわからない
という投稿を見かけたので(基本的に役立たずなので全く使わない)、深堀りしてみることにしました。初心者のころだけですね、使うのって。
最近は生成AIもあるから猶更って感じで。
まあこんな質問あるんだから需要あるよね?っていうカンジで
でも一文にもならないんだよなあ
せめて10いいねぐらいついて欲しい(笑)
前回の記事
参考URL
Microsoft Learn
Visual Studioで外部ソースを含めたデバッグを実行する
DLLのデバッグ方法
【C++】Visual StudioでDLLをデバッグする方法
自作のDLLをデバッグしてみる
前提はWPF、Visual studio2022です。
DLLの読み込み方法は静的ロードと動的ロードがありますが、基本的に静的なロード(Visual studioのHintPath
に登録する)で行うことにします。(多分簡単に反映されるのは動的ロードの方)
以下を参考
DLLを外部プロジェクトに登録してみた
この手順を行った上で(それほど難しくない)、.pdb(シンボルファイル)
を実行ファイルと同じディレクトリに配置します。
デバッグしてみる
前提としてデバッグシンボルが正常に読み込まれているか確認してください。
デバッグ実行中にウィンドウ
→ モジュール
を開きます。
正常に読み込まれた場合、シンボルが読み込まれました
と表示されます。
シンボルファイルTargetdll.pdb
が読み込まれない場合はデバッグできません。
試しに削除してみましょう。
.pdb
を削除するとデバッグできない
※キャッシュがあると再現できないため検索して削除しておく(通常はobjフォルダ内にある)
PDB ファイルを開けないか、ファイルが見つかりません。
あとがき
そもそもWPFコントロール登録時、呼び出しクラスとコントロールがinternalだったせいで、そこだけてこずりました(笑)
チャンネル登録、高評価、面白かったらいいね、面白くなかったら悪いね、参考になったらLGTM、ストック、読み疲れたらTwitterへのフォローが励みになります。
個人的な信仰についてのツイート