Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

メモリーアクセスエラーの報告

メモリーアクセスエラーを検出すると RTC は次の情報を出力します。

エラー  

情報  

type

エラーの種類。 

access

試みられたアクセスの種類 (読み取りまたは書き込み)。 

size

試みられたアクセスのサイズ。 

address

試みられたアクセスのアドレス 

size

リークしたブロックのサイズ 

detail

アドレスについてのさらに詳しい情報。たとえば、アドレスがスタックの近くに存在する場合、現在のスタックポインタからの相対位置が与えられ ます。アドレスが複数存在する場合、一番近いブロックのアドレス、サイズ、相対位置が与えられます。 

stack

エラー時の呼び出しスタック (バッチモード)。 

allocation

addr がヒープにある場合、もっとも近いヒープブロックの割り当てトレースが与えられます。 

location

エラーが発生した位置。行が特定できる場合には、ファイル名、行番号、関数が示されます。行番号がわからないときは関数とアドレスが示されます。 

代表的なアクセスエラーは次のとおりです。


Read from uninitialized (rui):
Attempting to read 4 bytes at address 0xefffee50
    which is 96 bytes above the current stack pointer
Variable is ”j’
Current function is rui
   12           i = j;