FFmpeg是一個跨平臺的多媒體庫,有時需要在別的平臺上進行開發和調試,記錄一下在linux環境下使用gdb來調試FFmpeg源碼的基本方式
1.可執行文件
在windows平臺使用linux環境來調試FFmpeg源碼,需要編譯生成一個后綴有_g的exe文件,參考ffmpeg編譯。在windows平臺下,如果想要使用vs調試,需要在編譯FFmepg時添加–toolchain=msvc來生成pdb文件
2. gdb調試
使用msys2這個虛擬的linux環境來進行gdb調試,命令行為
gdb ffmpeg_g.exe // 開始啟用gdb
set args -i output.h264 test.yuv // 設置參數,輸入為output.h264,輸出為test.yuv
start // 開始調試
常用命令:
n // next, 逐過程
s // step, 逐語句
list // 顯示代碼
b n // 設置第n行一個斷點
jump n // 跳轉到第n行
使用list命令
這里看,函數的入口位于fftool\ffmpeg.c的main函數,之后加上斷點就可以調試了