2009年9月16日水曜日

DelphiアプリケーションのWindowsのダンプファイルの調査のしかた

Windowsファイルが出力するダンプファイルなんで今まで遠ざけていたのだけど、
ちょっとチャレンジしてみた。

まず、必要なものは、windbgというマイクロソフトの無料のツール
これは、下記から説明およびダウンロードができる。

http://www.microsoft.com/japan/whdc/devtools/debugging/debugstart.mspx

次にDelphiのアプリケーションからは、生成されないマップ情報を生成する必要が
あるのだけど、それは、下記のDelphiのmapファイルをdbgファイルに
変換してくれる便利なツール「map2dbg」があるようです。

参考になったサイトは下記のサイト(英文)です。
http://www.sandon.it/?q=node/45

これらを踏まえた上で、下記のサイトを見てwindbgを使ってみると、
スタックとレースを見ることが出来るという部分までが理解できた。

クラッシュダンプを読んでその原因を究明する

いろいろ見てみると、
STACK_TEXT:

という部分あたりに、関数の呼び出し履歴みたいなのが表示されるようです。

現実問題、これがわかるだけでも結構でかいなぁ....

昔、この本を読もうとして、ちょっとやめたのだけど、やっぱり読んでみようかな
とまた思い始めてみる。
Windowsダンプの極意 エラーが発生したら、まずダンプ解析! (大型本)





0 件のコメント: