Comment faire correspondre les symboles de debugging de la bibliothèque statique précompilée au code source avec Xcode 5?

Je dois comstackr FFmpeg pour iOS en utilisant un script de construction externe , mais quand je débogue, je vois l'assembleur si je plonge trop profondément dans les fonctions de la librairie libavformat:

0x109a73: cmpl $0, 1192(%ebp) 0x109a7a: jns 0x109a86 ; mov_write_header + 198 at movenc.c:3539 0x109a7c: movl $1, 1192(%ebp) 0x109a86: movl 16(%ebp), %eax 0x109a89: cmpl $0, 84(%eax) 0x109a8d: movl %edx, %ecx 0x109a8f: jne 0x109ad9 ; mov_write_header + 281 at movenc.c:3548 0x109a91: testb $2, 48(%ecx) 0x109a95: jne 0x109ac1 ; mov_write_header + 257 at movenc.c:3541 

Il y a des symboles de debugging clairs qui me laissent croire qu'il devrait y avoir un moyen de dire à Xcode l'location de ce code source pour faciliter le debugging.

Est-ce seulement possible?

edit : J'ai trouvé une question connexe ici Aucun symbole / source pour la bibliothèque externe dans Xcode 4

Donc, quand je lance xcrun dwarfdump libavformat.a | grep "\.c" xcrun dwarfdump libavformat.a | grep "\.c" Je reçois un tas de résultats comme ceci:

 AT_decl_file( "libavformat/movenc.c" ) 

J'ai donc essayé de placer les files source pertinents dans des dossiers relatifs à la fois au file .a et à mon file .xcodeproj, mais aucune de ces methods n'a fonctionné. Le code source complet est disponible ici: https://github.com/openwatch/livestreamer-ios

edit2 : J'ai trouvé une autre question sur la façon de définir le mappage source pour lldb mais je ne suis pas très sûr de ce qu'il faut faire … LLDB équivalent de la command "directory" gdb pour spécifier le path de search source?

Il semble que je pourrais avoir besoin de faire

 (lldb) settings set target.source-map libavformat/movenc.c /path/to/libavformat/movenc.c 

pour chaque file dont j'ai besoin?

Il semble donc que le problème est que je compilais libavcodec.a, libavformat.a, etc dans une seule bibliothèque statique dans mon projet FFmpegWrapper (libFFmpegWrapper.a), que j'incluais alors comme une bibliothèque statique dans le projet contenant appelé LiveStreamer . Le déplacement des files .a et l'ajout des files source (non ajoutés à la cible de génération) au projet LiveStreamer ont résolu le problème.

Si quelqu'un se heurte à cela dans le futur, n'hésitez pas à me laisser tomber une ligne parce que j'ai lutté avec cela pendant des jours.