Извлечение типа переменной из отладочной информации

Рассматривать:

int x[] = {1, 2, 3};

int main(){
    return 0;
}

Если мы сделаем objdump из секции данных, мы получим переменную x с начальным адресом и размером в (4*3) байта. Есть ли простой способ получить информацию о том, что x был массивом и какого типа?

Я знаю, что мы можем сделать это, используя dwarfdump -i a.out, а затем проанализировать результат, чтобы добиться того же, но есть ли что-нибудь более легкое, что можно сделать. Мне просто нужно проверить, был ли это массив и какого типа?

С Уважением,

Панкай

1 ответ

Вы можете использовать библиотеки чтения DWARF в elfutils для анализа DWARF, поиска переменной и затем декодирования ее типа. Это нетривиально, но библиотеки немного помогают.

Другие вопросы по тегам