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 オペレーション (トランザクショナル インターフェイス)