2017-10-18 4 views
0

J'ai un fichier ELF et je peux extraire des informations de symbole et de section en utilisant readelf très bien. Je rencontre un problème parce que j'ai besoin de savoir quelles variables sont des tableaux et quelle longueur ils ont. Je n'ai que la taille brute. J'ai trouvé quelqu'un disant que vous pourriez trouver cette information en utilisant --debug-dump dans la section de débogage (qui contient certainement beaucoup d'informations, mais je ne peux pas trouver les tailles de tableau que je recherche).Longueur de tableau à partir du fichier ELF

J'ai un GCC modifié pour une cible intégrée si cela aide.

Répondre

1

Quel type d'informations de débogage votre cible utilise-t-elle? Si c'est DWARF, une variable de tableau aura un type associé avec l'étiquette DW_TAG_array_type, et cela devrait avoir un attribut DW_AT_upper_bound, ce qui est un de moins que la taille du tableau (pour les tableaux C). Sinon, si votre type d'informations de débogage fournit uniquement le type d'élément de tableau, vous pouvez utiliser la taille d'objet ELF et la diviser par la taille des éléments du tableau.

+0

Y at-il par hasard une bibliothèque .NET qui analyse ces informations? – CodeMonkey

+1

Cela ne ressemble pas à cela, ce qui n'est pas surprenant car Windows utilise PE/COFF. J'ai regardé [Mono] (https://github.com/mono/mono), et il utilise le code C pour traiter les fichiers ELF. –