You can read this blog in any language using google translate as follows:

Goto http://translate.google.com/
Paste URL in the box and select "Japanese for From Language" and "To Language". Then click "Translate".

English translated pages are here:
http://bit.ly/xPuXoy

你可以閱讀這個博客,在任何使用“Google”的語言翻譯

本ブログのアクセス統計: 60万アクセスを達成しました。ご訪問ありがとうございました。

60万アクセスまでの経過

2009年12月に始めた本blog。2011年7月ごろに10万アクセスを達成し、2011年12月13日には15万アクセスを達成。
その後、私も更新しておらず、アクセスは少し減りましたが、3月1日には18万アクセス。2012/4/18に20万アクセス、2012/8/21に25万アクセス、2013/1/18に30万アクセス、2013/12/17に40万アクセスを達成しました。しばらく見ていなかったら、2015/5/1に50万2584アクセスになっていました。またまた、しばらく更新しないうちに、2017/6/11に60万7197アクセスになっていました。久しぶりに更新します。

2010年9月4日土曜日

Dr. Watosonを用いてwinXPアプリの例外による異常終了を解析

gekisashi.exeが不正終了する件で、担当者からは的外れなcut&try試行のお願いばかりが
やってくる。私のCore2 duo E8400 ではこのエラー情報は、
アクセス違反例外 (0xc0000005= STATUS_ACCESS_VIOLATION)である。自分で解析している。

winXPには、winNT同様にDr. Watosonが標準搭載されている。(以下のリンク)(VistaではDebugDiag or ADPlus になっているらしい、これも以下のリンクに情報あり。)

http://blogs.technet.com/b/askperf/archive/2007/06/15/capturing-application-crash-dumps.aspx

Start->アプリケーション名を指定して実行から、

  1. drwtsn32 -i
  2. drwtsn
を順に実行する。2で立ち上がるmenuのlog pathで指定したfolderに、crashのログが格納される。これには、1でenableにした以降のクラッシュに関して、以下が格納されている。
  1. 日時
  2. マシン、SW環境
  3. 同時走行プロセスとプロセスID
  4. 論理アドレスマップとマップされているモジュール名
  5. 以下6-8は、エラー時に走行していた各スレッドに対して
  6. エラー時のstack trace
  7. エラー時の命令シーケンスとレジスタ値、ロードストアアドレス
  8. エラー時のstack dump
これだけあれば、解析できそう。

ちなみに、winXPでのプロセスの論理アドレスマップは以下のようになっている模様。
論理アドレス0付近や0xffffffff付近にはなにもマップしてなく、不正なポインタアクセス(よくあるのは、データ値(通常絶対値が小さい値が格納されている)をポインタと間違えて用いたアクセスなど)をトラップとして検出できるようになっているように思える。

アプリは0x00400000 から
dll群が 0x014f0000  から
0x7c933000 にはkernel本体と思われるkernel32.dllがある。


*----> モジュール リスト <----*
(0000000000400000 - 0000000000906000: C:¥Program Files¥geki_dojo2¥gekisashi.exe
(00000000014f0000 - 00000000014f9000: C:¥WINDOWS¥system32¥Normaliz.dll
(0000000010000000 - 000000001003d000: C:¥PROGRA~1¥JWord¥Plugin2¥jwdsrch.dll
(0000000017000000 - 0000000017014000: C:¥wintools¥AltIME213¥AltIME.DLL
(000000003b100000 - 000000003b11b000: C:¥WINDOWS¥IME¥IMJP8_1¥Dicts¥IMJPCD.DIC
(0000000040290000 - 0000000040376000: C:¥WINDOWS¥system32¥WININET.dll
(0000000040930000 - 0000000040b18000: C:¥WINDOWS¥system32¥iertutil.dll
(00000000442a0000 - 00000000443d3000: C:¥WINDOWS¥system32¥urlmon.dll
(000000004af10000 - 000000004b0bb000: C:¥WINDOWS¥WinSxS¥x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6001.22319_x-ww_f0b4c2df¥gdiplus.dll
(000000004edc0000 - 000000004ee16000: C:¥WINDOWS¥system32¥imjp81.ime
(0000000058730000 - 0000000058768000: C:¥WINDOWS¥system32¥uxtheme.dll
(000000005ab60000 - 000000005abfa000: C:¥WINDOWS¥system32¥COMCTL32.dll
(0000000060740000 - 0000000060749000: C:¥WINDOWS¥system32¥LPK.DLL
(00000000634b0000 - 00000000634cd000: C:¥Documents and Settings¥All Users¥Application Data¥Real¥RealPlayer¥BrowserRecordPlugin¥Chrome¥Hook¥rpchromebrowserrecordhelper.dll
(00000000648f0000 - 00000000649c0000: C:¥WINDOWS¥system32¥imjp81k.dll
(00000000719d0000 - 00000000719d8000: C:¥WINDOWS¥system32¥WS2HELP.dll
(00000000719e0000 - 00000000719f7000: C:¥WINDOWS¥system32¥WS2_32.dll
(0000000072f50000 - 0000000072f76000: C:¥WINDOWS¥system32¥WINSPOOL.DRV
(0000000073620000 - 000000007364e000: C:¥WINDOWS¥system32¥msctfime.ime
(0000000073f80000 - 0000000073feb000: C:¥WINDOWS¥system32¥USP10.dll
(00000000762e0000 - 00000000762fd000: C:¥WINDOWS¥system32¥IMM32.DLL
(0000000076300000 - 0000000076348000: C:¥WINDOWS¥system32¥comdlg32.dll
(0000000076970000 - 0000000076aad000: C:¥WINDOWS¥system32¥ole32.dll
(0000000076af0000 - 0000000076b1b000: C:¥WINDOWS¥system32¥WINMM.dll
(0000000076d90000 - 0000000076db2000: C:¥WINDOWS¥system32¥Apphelp.dll
(00000000770d0000 - 000000007715b000: C:¥WINDOWS¥system32¥OLEAUT32.dll
(0000000077160000 - 0000000077263000: C:¥WINDOWS¥WinSxS¥x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83¥comctl32.dll
(0000000077bb0000 - 0000000077bb8000: C:¥WINDOWS¥system32¥VERSION.dll
(0000000077bc0000 - 0000000077c18000: C:¥WINDOWS¥system32¥msvcrt.dll
(0000000077cf0000 - 0000000077d80000: C:¥WINDOWS¥system32¥USER32.dll
(0000000077d80000 - 0000000077e29000: C:¥WINDOWS¥system32¥ADVAPI32.dll
(0000000077e30000 - 0000000077ec2000: C:¥WINDOWS¥system32¥RPCRT4.dll
(0000000077ed0000 - 0000000077f19000: C:¥WINDOWS¥system32¥GDI32.dll
(0000000077f20000 - 0000000077f96000: C:¥WINDOWS¥system32¥SHLWAPI.dll
(0000000077fa0000 - 0000000077fb1000: C:¥WINDOWS¥system32¥Secur32.dll
(000000007c340000 - 000000007c396000: C:¥WINDOWS¥system32¥MSVCR71.dll
(000000007c3a0000 - 000000007c41b000: C:¥WINDOWS¥system32¥MSVCP71.dll
(000000007c800000 - 000000007c933000: C:¥WINDOWS¥system32¥kernel32.dll
(000000007c940000 - 000000007c9df000: C:¥WINDOWS¥system32¥ntdll.dll
(000000007d5b0000 - 000000007ddb0000: C:¥WINDOWS¥system32¥SHELL32.dll
(000000007df90000 - 000000007dfb1000: C:¥WINDOWS¥system32¥oledlg.dll





blog comments powered by Disqus