GDB: определение содержимого регистра без источника. - PullRequest
0 голосов
/ 29 октября 2018

Навигация по основному файлу. Я могу сузить его до конкретной точки отказа и проверить регистры. Обычно значение регистра является нулевым, что является хорошим показателем того, что нулевое значение было передано и вызывает проблему.

Вопрос в том, что произойдет, если есть действительный адрес?

Можно ли определить содержание этого адреса без источника?

Без источника можно было бы определить, указывает ли адрес на структуру, и если да, то сможете ли вы определить все атрибуты структуры?

1 Ответ

0 голосов
/ 30 октября 2018

Можно ли определить содержание этого адреса без источника?

Абсолютно. Предположим, значение $rax равно 0x12345678. Вы можете проверить значение по этому адресу с помощью (gdb) x/gx $rax

Без источника можно было бы определить, указывает ли адрес на структуру

В целом: нет. Вы можете определить, что адрес не указывает на структуру, если структура требует определенного выравнивания, а адрес не выровнен должным образом. Или, если адрес указывает, например, последние 4 байта страницы, и следующая страница не отображается, а размер структуры превышает 4 байта.

и если да, то сможете ли вы определить все атрибуты структуры?

Если вы уверены, что адрес указывает на структуру, вы можете проверить ее содержимое. См. этот ответ о том, как это удобно сделать в GDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...