bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.5k stars 8.12k forks source link

how to config ijk to print full backtrace when crashed?如何配置ijk开关在崩溃的时候打印完整的backtrace #3812

Open lin111000713 opened 6 years ago

lin111000713 commented 6 years ago

crash log:崩溃日志 12-05 10:53:05.911 12336-12336/? A/DEBUG: Revision: '0' 12-05 10:53:05.911 12336-12336/? A/DEBUG: ABI: 'arm' 12-05 10:53:05.911 12336-12336/? A/DEBUG: pid: 12230, tid: 12324, name: Thread-11 >>> com.cnc.mediaplayer.full <<< 12-05 10:53:05.911 12336-12336/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6eb59f01 12-05 10:53:05.911 12336-12336/? A/DEBUG: r0 6eb59f01 r1 6eb59f01 r2 00000053 r3 00000007 12-05 10:53:05.911 12336-12336/? A/DEBUG: r4 ffffffff r5 00000002 r6 00000000 r7 6eb59f01 12-05 10:53:05.911 12336-12336/? A/DEBUG: r8 ffffffff r9 0000001c sl d0dfe048 fp cdf04e08 12-05 10:53:05.911 12336-12336/? A/DEBUG: ip 80000000 sp cdf04c08 lr ed8be859 pc ed887776 cpsr a00f0030 12-05 10:53:05.914 12336-12336/? A/DEBUG: backtrace: 12-05 10:53:05.914 12336-12336/? A/DEBUG: #00 pc 00018776 /system/lib/libc.so (strlen+21) 12-05 10:53:05.914 12336-12336/? A/DEBUG: #01 pc 0004f855 /system/lib/libc.so (__strlen_chk+4) 12-05 10:53:05.914 12336-12336/? A/DEBUG: #02 pc 0003ff2d /system/lib/libc.so (vfprintf+4508) 12-05 10:53:05.914 12336-12336/? A/DEBUG: #03 pc 00044b7f /system/lib/libc.so (vsnprintf+134) 12-05 10:53:05.914 12336-12336/? A/DEBUG: #04 pc 000056b9 /system/lib/liblog.so (android_log_vprint+40) 12-05 10:53:05.914 12336-12336/? A/DEBUG: #05 pc 0046f903 /data/app/com.cnc.mediaplayer.full-2/lib/arm/libijkffmpeg.so (av_log+42)

question:crash log only shows crash when call av_log, but don't show which function call av_log in backtrace. How to config Developer options in module-default.sh file? 问题:崩溃日志仅仅显示当调用av_log的时候崩溃,但是没有显示更上层的完整的调用栈(比如是谁调用av_log才导致crash)。如何在module-default.sh文件中配置开发选项才能显示完整的崩溃的调用栈信息?

附:module-default.sh

Developer options (useful when working on FFmpeg itself):

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-coverage"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-debug"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=LEVEL"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-optimizations"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-extra-warnings"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-stripping"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --assert-level=level"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memory-poisoning"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --valgrind=VALGRIND"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-ftrapv"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --samples=PATH"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-xmm-clobber-test"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random=LIST"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random=LIST"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --random-seed=VALUE"

Android4MediaPlayer commented 6 years ago

应该不是这个地方