Извлечение типа переменной из отладочной информации
Рассматривать:
int x[] = {1, 2, 3};
int main(){
return 0;
}
Если мы сделаем objdump из секции данных, мы получим переменную x с начальным адресом и размером в (4*3) байта. Есть ли простой способ получить информацию о том, что x был массивом и какого типа?
Я знаю, что мы можем сделать это, используя dwarfdump -i a.out, а затем проанализировать результат, чтобы добиться того же, но есть ли что-нибудь более легкое, что можно сделать. Мне просто нужно проверить, был ли это массив и какого типа?
С Уважением,
Панкай
1 ответ
Вы можете использовать библиотеки чтения DWARF в elfutils для анализа DWARF, поиска переменной и затем декодирования ее типа. Это нетривиально, но библиотеки немного помогают.