Код ассемблера означает в GDB - PullRequest
0 голосов
/ 18 октября 2011

Добрый день! У меня есть файл ядра, и я разобрал (используя 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

Заранее спасибо.

1 Ответ

0 голосов
/ 18 октября 2011

Присвоение значения r44 почти наверняка не вызывает сбой.

Пожалуйста, отредактируйте ваш вопрос, чтобы обеспечить вывод из GDB where, disas и info registersкоманды.Тогда мы сможем точно сказать вам, где он разбился (и, возможно, почему).

...