как найти переменную, которая содержит данный адрес из corefile - PullRequest
0 голосов
/ 29 марта 2020

Я отлаживаю проблему повреждения памяти, у меня есть файл core и я знаю, что адрес искажается. Этот адрес не должен записываться каким-либо кодом после инициализации, но какой-то код его портит. Когда я выполняю поиск файла ядра, я вижу, что некоторые ссылки (возможные виновники) указывают на это. Теперь мне нужно поменять карту с адреса преступника на исходный код, есть идеи, как найти имя переменной по адресу, используя GDB из corefile? Проблема не воспроизводима, поэтому это единственное, что у меня есть.

1 Ответ

0 голосов
/ 29 марта 2020

Теперь мне нужно отменить отображение адреса преступника на исходный код

Не все адреса сопоставляются с исходным кодом. Глобальные и статические c адреса переменных могут быть сопоставлены с источником, но адреса кучи и стека не могут.

Есть идеи, как найти имя переменной по адресу, используя GDB из файла corefile?

Для глобальных адресов или адресов c:

(gdb) info symbol 0x12341234
...