HsTraceDump
HsTraceDump
Treo のエラーログ(?)である HSTraceDatabase.PDB ファイルからテキスト部分を抜き出すツールです。
主に開発者向けのツールです。
Palm 用のアプリではなく PC 上で動くコマンドラインツールです。
もっともわざわざこんなコマンドを使わなくても,UNIX ライクな環境(cygwin とか Mac OS X ?)が使えるなら
strings HSTraceDatabase.PDB
または
strings HSTraceDatabase.PDB | grep Text | sed s/\<\\/*Text\>//g > hoge.txt
とかするだけでほぼ同じ結果が得られますけどね。
ダウンロード
Windows 用バイナリ → HsTraceDump.exe(439)
ソースコード → HsTraceDump.c(730)
バイナリは Windows 用しか用意していませんが,100行程度のベタベタの C 言語ソースコードなので ANSI C コンパイラが使える環境なら Mac や UNIX でもコンパイルできるでしょう。
使い方
HsTraceDump.exe はコマンドラインツールです。コマンドプロンプトを開いて使ってください。
デフォルトで HSTraceDatabase.PDB は HotSync したホストPCにバックアップが取られているはずです(例 C:\Program Files\palmOne\<HOTSYNC ID>\Backup\HSTraceDatabase.PDB)。
これを適当なフォルダ(例 "C:\hoge\")にコピーしておいて,ダウンロードしたコマンドを実行
cd c:\hoge HsTraceDump HSTraceDatabase.PDB
出力をファイルに落としたい場合は
HsTraceDump -o hoge.txt HSTraceDatabase.PDB
で hoge.txt に出力されます。
ショートカット
で,はじめに書いたようにコマンドラインで使うだけなら strings コマンドを使えば済む話なんですがもうちょっと簡単に使うためにショートカットを作ります。
HsTraceDump.exe を右クリック→ドラッグしてショートカットを作ります。
ショートカットのプロパティを開いて,Target: に以下のように書いて適用します。(ウインドウは最小化の設定で良いでしょう)
C:\hoge\HsTraceDump.exe -o C:\hoge\HSTraceDatabase.txt "C:\Program Files\palmOne\<HOTSYNC ID>\Backup\HSTraceDatabase.PDB"
これであとはこのショートカットをダブルクリックするだけで(コマンドプロンプトを開かずに)C:\hoge\ にログのダンプが保存されます。
出力のサンプル
Reset: 8/2/06, 11:48 pm (panl/HalA),Fatal Exception Reset: 8/3/06, 2:45 am (appl/HaNd),Bitmap.c, Line:1085, BmpGetDensity: invalid argument Reset: 8/3/06, 11:45 am (panl/HalA),Fatal Exception Reset: 8/3/06, 11:46 am (panl/HalA),Fatal Exception Reset: 8/4/06, 9:55 pm (xxxx/xxxx),HTC6500CallTelephonyHandler.cpp, Line:3390, InternalDisconnect timed out but did not clean up request Reset: 8/4/06, 11:19 pm (panl/HalA),Fatal Exception Reset: 8/5/06, 5:40 pm (appl/Wdic),Bitmap.c, Line:1085, BmpGetDensity: invalid argument Reset: 8/6/06, 1:15 am (appl/PoLa),Bitmap.c, Line:1085, BmpGetDensity: invalid argument Reset: 8/7/06, 2:26 am (xxxx/xxxx),MemoryMgr.c, Line:3340, MemSet to NULL Reset: 8/7/06, 2:28 am (appl/BLZ5),Fatal Exception Reset: 8/10/06, 1:05 am (appl/RNWK),SystemMgr.c, Line:6878, SysLinkerStub(): Failed to load the shared library. Reset: 8/10/06, 1:06 am (appl/RNWK),SystemMgr.c, Line:6878, SysLinkerStub(): Failed to load the shared library. Reset: 8/11/06, 1:42 am (appl/PMem),Bitmap.c, Line:1085, BmpGetDensity: invalid argument Reset: 8/12/06, 9:18 pm (panl/btLh),Fatal Exception Reset: 06/8/30, 16:07 (appl/ROMX),Fatal Exception Reset: 06/8/30, 17:48 (panl/HalA),Field68K.c, Line:247, Form object (field) not found Reset: 06/8/30, 23:17 (panl/HalA),Fatal Exception Reset: 06/9/7, 1:01 (panl/HalA),Fatal Exception Reset: 06/9/7, 1:04 (panl/HalA),Bitmap.c, Line:1085, BmpGetDensity: invalid argument Reset: 06/9/9, 0:33 (panl/HalN),Fatal Exception Reset: 06/9/9, 0:44 (panl/HalN),MemoryMgr.c, Line:5344, Chunk under-locked Reset: 06/9/15, 2:01 (panl/HalN),Field68K.c, Line:247, Form object (field) not found Reset: 06/9/18, 19:13 (panl/HalN),Window68K.c, Line:86, No shadow window found Reset: 06/10/2, 0:49 (appl/CMDc),Fatal Exception Reset: 06/11/3, 10:15 (panl/ADR2),Emul68KCommon.c, Line:1737, Entry already in use Reset: 06/11/5, 12:02 (appl/sync),Emul68KMain.c, Line:438, line 1010 exception at address 732CA736 Reset: 06/11/5, 12:36 (appl/PPDF),Fatal Exception Reset: 06/12/11, 17:46 (appl/TNpt),Fatal Exception Reset: 06/12/12, 11:10 (xxxx/xxxx),MemoryMgr.c, Line:3194, MemMove to NULL Reset: 06/12/12, 11:14 (xxxx/xxxx),Fatal Exception Reset: 06/12/13, 18:34 (appl/C0R3),Event.c, Line:201, Event queue full Reset: 06/12/14, 20:49 (appl/C0R3),Fatal Exception Reset: 06/12/15, 13:56 (panl/ADR2),Emul68KCommon.c, Line:1737, Entry already in use Reset: 06/12/15, 22:34 (appl/C0R3),Fatal Exception Reset: 06/12/16, 3:23 (appl/SwSs),../../shared/yahm/Src/trapcontrol5.c, Line:453, 00000000 647F2D0C invalid tc Reset: 06/12/16, 3:27 (appl/C0R3),Event.c, Line:201, Event queue full Reset: 06/12/16, 18:47 (appl/TNpt),Fatal Exception Reset: 06/12/16, 21:52 (appl/SwSs),../../shared/yahm/Src/trapcontrol5.c, Line:453, 00000000 648A893C invalid tc Reset: 06/12/22, 12:04 (appl/SwSs),Emul68KMain.c, Line:403, illegal instruction 00F2 at address 648F63C6 Reset: 06/12/24, 15:49 (appl/TNpt),Fatal Exception Reset: 06/12/24, 21:01 (xxxx/xxxx),MemoryMgr.c, Line:3194, MemMove to NULL Reset: 06/12/26, 11:41 (appl/SwSs),../../shared/yahm/Src/trapcontrol5.c, Line:453, 00000000 648D8E5C invalid tc Reset: 06/12/27, 14:31 (appl/SwSs),../../shared/yahm/Src/trapcontrol5.c, Line:453, 00000000 648C189C invalid tc Reset: 06/12/27, 18:57 (appl/HalW),Fatal Exception Reset: 06/12/28, 21:01 (appl/TNpt),Emul68KMain.c, Line:438, line 1010 exception at address 00004000 Reset: 06/12/30, 18:29 (appl/HsPh),Fatal Exception Reset: 06/12/30, 18:31 (xxxx/xxxx),HTC6500CallTelephonyHandler.cpp, Line:3390, InternalDisconnect timed out but did not clean up request Reset: 06/12/31, 20:09 (appl/TNpt),Emul68KMain.c, Line:438, line 1010 exception at address 00000000 Reset: 07/1/4, 20:37 (appl/TNpt),Fatal Exception Reset: 07/1/7, 16:49 (appl/C0R3),Form68K.c, Line:1771, No form event handler Reset: 07/1/8, 0:54 (appl/C0R3),Emul68KMain.c, Line:438, line 1010 exception at address 00000000 Reset: 07/1/9, 0:43 (appl/msCR),Fatal Exception