Solaris 64 ビット 開発ガイド

デバッグ処理

Solaris 上で実行できるtruss(1) コマンド、/proc ツール (proc(1))、adbdbx、および adbgen などのデバッグツールのすべてが、64 ビットアプリケーションで動作するようにアップグレードされています。

これらのデバッグツールのうち、64 ビットアプリケーションをデバッグできる dbx デバッガは、Sun Workshop ツール群の一部として入手できます。それ以外のツールはすべて Solaris リリースの中に含まれています。

adbgen は、指定した adb(1) マクロを作るプログラムを生成します。64 ビットマクロを生成するために -m lp64 オプションを指定し、64 ビットシステム上で実行する必要があります。詳細は、adbgen(1M) のマニュアルページを参照してください。

adbgen 以外の上記のデバックツールのオプションには変更がありません。64 ビットプログラムをデバッグするために、adb に対しては、多数の拡張が加えられました。ポインタを間接参照するために「*」を使用すると、64 ビットプログラムに対しては 8 バイトを、32 ビットプログラムに対しては 4 バイトを参照します。さらに、次の修飾子が新たに追加されました。


Additional ?, /, = modifiers:
	
g		(8) Display 8 bytes in unsigned octal	
G		(8) Display 8 bytes in signed octal
e		(8) Display 8 bytes in signed decimal	
E		(8) Display 8 bytes in unsigned decimal
J		(8) Display 8 bytes in hexadecimal
K		(n) Print pointer or long in hexadecimal
		  Display 4 bytes for 32-bit programs
		  and 8 bytes for 64-bit programs.
y		(8) Print 8 bytes in date format
 
Additional ? and / modifiers:
 
M <value> <mask>  Apply <mask> and compare for 8-byte value;
		  move '.' to matching location.
Z		(8) write 8 bytes