やっかいなバグの調査方法を考える
あいかわらず、見当もつかないバグの調査中。
現象から見るにクラッシュしているっぽいので、セオリーとしてはSetUnhandledExceptionFilterで例外フィルタを仕込んでおいて、問題を起こす場所をあぶり出したいところ。引っかかるのは、
- モジュール自体がWindowsドライバのレベルで動いていること。
- 時折クラッシュダンプを落とすので例外フィルタが有効かわからないところ。
- モジュール内でさらにDLLをLoadLibraryしているけど、その中の情報も引っかかるのかわからないところ。
なんだけれど、そこいら中のメソッドの中がtry〜catch(...)で囲われていて折角の例外をつぶしているので、果たして例外フィルタが有効に働くのかが一番の懸案だったりする。
とりあえず、例外フィルタは仕込んでおくことにする。