PSQL Programmer's Guide (v11)

トレース ファイル (トランザクショナル インターフェイス)

MicroKernel の[トレース オペレーションの実行]設定オプションを選択すると、各 Btrieve API 呼び出しをトレースし、その結果をファイルに保存できます。これは、アプリケーションのデバッグに有効です。以下に、サンプル トレース ファイルを示します。

BUTIL STAT 呼び出しの MicroKernel トレース ファイル

MicroKernel Database Engine [Server Edition] for 
Windows NT trace file 
Created : Wed Dec 17 18:19:09 
<In> 0198   Opcode : 0026   Crs ID : 0xffffffff  Db 
Length : 00005   Keynum : ff   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       00 00 00 00 00          -                           
.....            
KBuf:       ??                      -                           .                
<Out>0198   Status : 0000   Crs ID : 0xffffffff  Db 
Length : 00005   Keynum : ff   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       07 00 00 00 54          -                           
....T            
KBuf:       ??                      -                           .                
---------------------------------------------------
----------------- 
<In> 0199   Opcode : 0000   Crs ID : 0xffffffff  Db 
Length : 00001   Keynum : fe   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       4e 4f 54 53 48 4f 57 4e - 00                        
NOTSHOWN.        
KBuf:       5c 5c 4e 54 34 53 52 56 - 2d 4a 55 44 49 
54 5c 43   ¥¥NT4SRV-JUDIT¥C 
            24 5c 64 65 6d 6f 64 61 - 74 61 5c 74 75 
69 74 69   $¥demodata¥tuiti 
 
<Out>0199   Status : 0000   Crs ID : 0x00000002  Db 
Length : 00001   Keynum : fe   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       4e 4f 54 53 48 4f 57 4e - 00                        
NOTSHOWN.        
KBuf:       5c 5c 4e 54 34 53 52 56 - 2d 4a 55 44 49 
54 5c 43   ¥¥NT4SRV-JUDIT¥C 
            24 5c 64 65 6d 6f 64 61 - 74 61 5c 74 75 
69 74 69   $¥demodata¥tuiti 
---------------------------------------------------
----------------- 
<In> 0200   Opcode : 0015   Crs ID : 0x00000002  Db 
Length : 00028   Keynum : fe   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       00 00 00 00 00 01 07 00 - 00 00 00 00 00 
00 00 03   ................ 
            c3 3f 00 10 00 00 00 00 - b4 fe 36 03               
.?........6.     
KBuf:       00 00 00 00 1c 00 00 00 - da fe 36 03 00 
00 00 00   ..........6..... 
            00 01 07 00 00 00 00 00 - 00 00 00 03 c3 
3f 00 10   .............?.. 
 
<Out>0200   Status : 0000   Crs ID : 0x00000002  Db 
Length : 00007   Keynum : fe   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       03 00 0e 00 04 05 01    -                           
.......          
KBuf:       00 00 00 00 07 00 00 00 - da fe 36 03 03 
00 0e 00   ..........6..... 
            04 05 01 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
---------------------------------------------------
----------------- 
<In> 0201   Opcode : 0015   Crs ID : 0x00000002  Db 
Length : 33455   Keynum : ff   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       2b 00 cb ff ff ff ff ff - ff ff ff ff ff 
ff ff 00   +............... 
            00 0e 00 04 05 01 00 00 - 00 00 00 00 00 
00 00 00   ................ 
            00 00 00 00 00 00 00 00 - 00 00 00 14 4e 
54 34 53   ............NT4S 
            52 56 2d 4a 55 44 49 54 - 5c 75 6e 6b 6e 
6f 77 6e   RV-JUDIT¥unknown 
KBuf:       00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
            00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
<Out>0201   Status : 0000   Crs ID : 0x00000002  Db 
Length : 00064   Keynum : ff   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       0e 00 00 10 03 70 08 00 - 00 00 01 12 00 
00 00 00   .....p.......... 
            01 00 04 00 00 01 08 00 - 00 00 0f 00 00 
00 00 00   ................ 
            05 00 05 00 03 05 04 00 - 00 00 0a 00 00 
00 01 00   ................ 
            0a 00 01 00 03 01 02 00 - 00 00 00 00 00 
00 02 00   ................ 
KBuf:       00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
            00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
---------------------------------------------------
----------------- 
<In> 0202   Opcode : 0065   Crs ID : 0x00000002  Db 
Length : 00268   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       45 78 53 74 01 00 00 00 - 00 00 00 00 01 
00 00 00   ExSt............ 
            00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
            00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
            00 00 00 00 00 00 00 00 - 00 00 00 00 00 
00 00 00   ................ 
KBuf:       ??                      -                           .                
<Out>0202   Status : 0000   Crs ID : 0x00000002  Db 
Length : 00035   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       01 00 00 00 01 00 00 00 - 17 00 00 00 43 
3a 5c 44   ............C:¥D 
            45 4d 4f 44 41 54 41 5c - 54 55 49 54 49 
4f 4e 2e   EMODATA¥TUITION. 
            4d 4b 44                -                           
MKD              
KBuf:       ??                      -                           .                
---------------------------------------------------
----------------- 
<In> 0203   Opcode : 0065   Crs ID : 0x00000002  Db 
Length : 00008   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       45 78 53 74 02 00 00 00 -                           
ExSt....         
KBuf:       ??                      -                           .                
 
<Out>0203   Status : 0000   Crs ID : 0x00000002  Db 
Length : 00008   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       00 00 01 00 00 00 07 00 -                           
........         
KBuf:       ??                      -                           .                
---------------------------------------------------
----------------- 
<In> 0204   Opcode : 0001   Crs ID : 0x00000002  Db 
Length : 00000   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       ??                      -                           .                
KBuf:       ??                      -                           .                
 
<Out>0204   Status : 0000   Crs ID : 0x00000000  Db 
Length : 00000   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:       ??                      -                           .                
KBuf:       ??                      -                           .                
 
---------------------------------------------------
----------------- 
<In> 0205   Opcode : 0028   Crs ID : 0xffbc000c  Db 
Length : 00000   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:                               -                                            
KBuf:                               -                                            
 
<Out>0205   Status : 0000   Crs ID : 0xffbc000c  Db 
Length : 00000   Keynum : 00   Clnt ID : 00 00 00 00 
00 00 00 00 00 00 85 00 50 55 00 00 
DBuf:                               -                                            
KBuf:                               -                                            
---------------------------------------------------
----------------- 

オペレーションごとに、MicroKernel に渡した値と MicroKernel から返された値を示しています。入力値は <In> で表され、出力値は <Out> で表されています。それぞれの後ろに、オペレーションが処理された順序を示す番号が続くので、<Out> 0016 は <In> 0016 の結果となります。Opcode フィールドは、実行されたオペレーション コードを示します。Status フィールドは、返されたステータス コードを示します。

Crs ID は、MicroKernel が要求に割り当てたカーソル ID、つまり、ハンドルです。この情報は、複数のクライアントをサポートしたり、複数のカーソルで単一のクライアントをサポートするアプリケーションのデバッグに有効な場合があります。

Db Length は、データ バッファー長を反映します。Keynum は、キー番号を反映します。Clnt ID は、BTRVID 関数と BTRCALLID 関数で使用されるクライアント ID パラメーターを反映します。DBuf は、データ バッファーの内容を反映します。KBuf は、キー バッファーの内容を反映します。トレース ファイルは、MicroKernel の設定に応じて、データ バッファーおよびキー バッファーの内容を切り詰めます。


メモ

パフォーマンスの低下を回避するために、[トレース オペレーションの実行]設定を短時間だけオンに切り替えて、どのオペレーションが MicroKernel で処理されているかを判断します。



Btrieve アプリケーションのデバッグ

クライアント/サーバー環境における間接的な Chunk オペレーション(トランザクショナル インターフェイス)