外部ビルド スクリプトを使用して iOS 用の FFmpeg をコンパイルする必要がありますが、デバッグ中に 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
明確なデバッグ シンボルが残っているため、デバッグを容易にするために、このソース コードの場所を Xcode に伝える何らかの方法が必要であると思われます。
これは可能ですか?
編集: 関連する質問が見つかりました ここに Xcode 4 の外部ライブラリのシンボル/ソースはありません
したがって、実行するxcrun dwarfdump libavformat.a | grep "\.c"
と、次のような結果が得られます。
AT_decl_file( "libavformat/movenc.c" )
そのため、関連するソース ファイルを .a ファイルと .xcodeproj ファイルの両方に関連するフォルダーに配置しようとしましたが、どちらの方法も機能しませんでした。完全なソース コードはこちらから入手できます: https://github.com/openwatch/livestreamer-ios
edit2 : lldb のソース マッピングを設定する方法に関する別の質問を見つけましたが、どうすればよいかわかりません...ソース検索パスを指定するための gdb "directory" コマンドに相当する LLDB?
する必要がありそうです
(lldb) settings set target.source-map libavformat/movenc.c /path/to/libavformat/movenc.c
必要なすべてのファイルに対して?