0

良い一日!コア ファイルがあり、クラッシュしたメソッドを (gdb を使用して) 逆アセンブルしたところ、以下のr44に割り当てられた値がクラッシュの原因であると言われました。

私はアセンブリに精通していないので、 0x480オフセットの意味とその値を見つける方法を尋ねたいと思い ますか?/アドレス? gdb のコア ファイルを使用します。

0x480が関数 MovePage()にあると仮定しても安全ですか?

;;;  1052               if( MovePage( len ) == FALSE ) {
0xc00000000c0c55c0:2 <TMF::PrintLog(char*)+0x32>:  adds         r44=0x480,r32;;
0xc00000000c0c55d0:0 <TMF::PrintLog(char*)+0x40>:  ld8          r43=[ret2]
0xc00000000c0c55d0:1 <TMF::PrintLog(char*)+0x41>:  (p6)  st4  [r35]=ret3

前もって感謝します。

4

1 に答える 1

0

r44ほぼ確実に値を割り当てても、クラッシュは発生しません。

質問を編集して、GDBからwhereの出力disasinfo registersコマンドを提供してください。そうすれば、クラッシュした場所(そしておそらくその理由)を正確に伝えることができるはずです。

于 2011-10-18T14:15:00.080 に答える