Я использую gdb и libbfd, чтобы получить информацию о глобальных переменных из файла elf и показать ее.
Я могу получить следующие данные из libbfd: Имя, адрес и размер глобальной переменной.
Я извлекаю тип переменных и их потомков, используя gdb и gdb \ MI (ptype, whatis, -var-create & -var-list-children).
Как я могу получить адрес \ размер \ смещение от родителя всех детей?
* 1005 например *
type = struct {\n"
unsigned char count;\n"
unsigned char time;\n
}\n
Если переменная A этого типа находится по адресу 0x000100, я хочу показать, что A.count находится в 0x000100 с размером 0x1, а A.time находится в 0x000101 с размером 0x1.
EDIT:
Я читал, что GDB может читать информацию DWARF, но я не могу понять, как я могу получить эту информацию из GDB.