Open4
RenderDocでキャプチャしているアプリが突然死ぬのでDebugDiagを仕掛けてみる
RenderDoc自体はデバッガなため、キャプチャしているアプリがクラッシュした場合黙って閉じてしまい何があったのかよくわからない。
DebugDiagツールを使うと、Linuxのコアダンプよろしくクラッシュダンプを記録させられるので、そこから追ってみる事にした。
... もうちょっと真面目な方法がRenderDoc側で提供されてないもんだろうか。。
procmonでの事前調査
Linuxで言うところの strace
の代わりにはprocmon( https://docs.microsoft.com/ja-jp/sysinternals/downloads/procmon )が手軽に使える。
WerFault.exe
が起動されているので、クラッシュレポートが作動したことがわかる。
DebugDiagを仕掛ける
DebugDiagをインストールし、Crashルールを作成してプロセスを指定する。デフォルトではProgram Files以下に(巨大な)コアダンプが保存されることになる。
実際にコアダンプを保存すると、"Userdump Count"がインクリメントされる。
クラッシュダンプの解析
Program Files〜 に保存されるダンプ( .dmp
)をダブルクリックしてVisualStudioで開くと、コアダンプとして開くことができ、それをデバッグ開始することでどこでクラッシュしたかがわかる。
さぁデバッグだ。。
... 単に初期化漏れでした。。