2011年6月28日火曜日

WinDbg

 結局、ウィンドウズのサーバ・サイド・プログラムが落ちる問題は、何が原因かわからなくて、メモリ・ダンプから事後デバッグ(windbg)するはめになった。
シンボル・ファイルをインストールして、それだけでは心もとないので、Release 版から PDB ファイルを再コンパイルして読み込ませ、

kb
!analyze -v

してみると、それだけでも結構な情報が得られた(タイムスタンプが合わないと、警告はでたけど)。

結局、今回は、strlen で AccessViolation している模様。最大レコード長が特定できる箇所だったので、strnlen に書き換えて、あとは、おおもとで、まじめに例外処理をハンドリングするコードを加えて、いっちょあがり。

やっぱ文字列処理は難しい…。

0 件のコメント: