2

組み込みPPCプラットフォーム(アーチはppc750)でデバッグを行っていますが、バイナリがクラッシュしたときに、gdbに「inforegisters」と入力すると、DAR(データアクセスレジスタ)の内容が表示されないことに気付きました。これは、プログラムが読み取ろうとしたメモリアドレスを表示するはずです-例外のタイプを通知するトラップレジスタのみを取得します。

(gdb) info registers
 r0             0x1034875e       271877982
 r1             0x7fffed30       2147478832
 r2             0xfd7f7a0        265811872
 [...]
 pc             0xf18d718        0xf18d718
 msr            0xd032   53298
 cr             0x80000848       2147485768
 lr             0xf18d6f8        0xf18d6f8
 ctr            0xf235d90        253975952
 xer            0x20000000       536870912
 orig_r3        0x26     38
 trap           0x300    768

これも可能ですか?私はgdb7.0.1を使用しています(古いバージョンですが、最近のバージョンは古いツールチェーンではうまく機能しません)。

4

1 に答える 1

0

DAR(データアクセスレジスタ)の内容がわかりません

私の知る限り、そのレジスタはカーネルモードでのみ使用可能/使用可能です。

「ベアメタル」でデバッグしていますか?DARそうでなければ、そもそもレジスターを探すべきではありません。

于 2012-09-07T15:46:31.587 に答える