2009-10-20 9 views
3

Je travaille sur Eclipse CDT pour un développement intégré et j'ai du mal à obtenir le débogage au niveau source pour les bibliothèques statiques. J'utilise mes propres Makefiles, donc c'est mon premier suspect en ce moment, d'autant plus que gdb prétend qu'aucune information de table de symboles n'est disponible pour les fonctions sans source. Lorsque vous utilisez une bibliothèque statique, les informations de débogage de la bibliothèque sont-elles généralement incluses dans le fichier ELF à partir de l'étape de liaison finale? À l'heure actuelle, je peux voir le mélange source/assemblage complet si je pointe objdump -S sur le fichier .a, mais aucune des informations de débogage ne le fait entrer dans le fichier .elf. L'info/source de débogage est présente pour l'application principale. Ai-je manqué un interrupteur pour dire à ld d'inclure ceci?Débogage d'une bibliothèque statique avec le CDT Eclipse

Sinon, quel est le meilleur moyen de faire savoir à gdb ce qu'il recherche (et ne trouve pas) en ce qui concerne les informations de débogage pour une fonction spécifique.

+0

Quels autres arguments sont fournis à 'ld' par le fichier makefile? – Kieron

Répondre

3

Compris.

La leçon est très simple: toujours, toujours, vérifiez vos makefiles. Était toujours lié dans une ancienne copie de la bibliothèque statique construite sans informations de débogage.

+0

Hah! Oui, ça le ferait. : D –

+0

Oh, et vous devriez probablement marquer cette réponse comme «acceptée», alors les gens n'arrêtent pas d'essayer de trouver le problème pour vous. –

0

Je suppose que GDB ne trouve tout simplement pas les fichiers source qui vont avec ces informations de débogage. Voir http://web.mit.edu/gnu/doc/html/gdb_9.html#SEC51 pour la documentation sur la façon de dire où trouver les fichiers source.

+0

Si vous lisez la dernière partie de la question, j'en suis conscient. Le problème est de trouver ce que recherche gdb, car il connaît déjà les répertoires. De toute évidence, il se passe quelque chose d'autre. – megabytephreak

+0

Ah, d'accord, ouais. Quand vous dites "aucune de ces informations de débogage le fait dans le .elf", comment testez-vous cela? –

Questions connexes