编译可调试的ffmpeg
来源:互联网 发布:恐怖整人软件 编辑:程序博客网 时间:2024/05/01 20:50
转自:http://blog.csdn.net/wansbest/article/details/8284514
最近在看ffmpeg.c的源码,看代码的时候习惯用gdb调试一下。因此准备编译一个可调式的ffmpeg。
./configure --help
看到了--enable-debug 和 --extra-cflags --extra-ldflags 这几个选项。
./configure --enable-shared --enable-gpl --enable-libmp3lame --enable-libx264 --enable-debug --extra-cflags=-g --extra-ldflags=-g
make
make install
果然编译成功之后,源码出现一个ffmpeg_g ,然后gdb ./ffmpeg_g 开始调试
问题出现了,gdb能够成功读取ffmpeg_g的调试信息,但ffmpeg_g加载的.so动态库调试信息是没法读取到的。单步的时候根本进不到动态库里面。很奇怪,编译的时候明明已经带上了-g选项。
跳到libavcodec目录
gdb libavcodec.so
**
Reading symbols from /home/wans/source/ffmpeg-0.10.6/libavcodec/libavcodec.so...done.
提示调试信息读取成功。
接着跳到/usr/local/lib下面
gdb libavcodec.so
**
Reading symbols from /usr/local/lib/libavcodec.so...(no debugging symbols found)...done.
告诉找不到调试信息,到这儿基本上已经知道,make install 安装到/usr/local/lib下面的.so并不是源码目录下面的。或者说make install只会安装不带调试信息的库文件(不知道怎么实现的,有知道的可以说下,在源码目录find 并没有找到额外的so文件)。到这儿问题已经可以解决了。先把/usr/local/lib目录下面所有ffmpeg动态库删除,然后跳到源码目录下面。
sudo cp ./*/*.so* /usr/local/lib
之后果然可以正常调试ffmpeg,可以单步进到so库里面去了!!
这其中最开始不能调试的时候,上网查了好一会的资料。可惜google一如既往的打不开,baidu一如既往的找不到有用资料。问题其实很简单但也折腾了不少时间。所以把这个写出来,给各位有需要的做个参考。
- 编译可调试的ffmpeg
- 编译可调试的ffmpeg
- 编译可调试的ffmpeg
- 编译可调试的ffmpeg 开关解释
- iOS 编译可调试的FFmpeg
- windows下编译可在visual studio中调试的FFmpeg
- ffmpeg的编译及kxmovie的调试
- ffmpeg VS2013 编译调试
- 编译可调试的Linux内核
- windows下使用Visual Studio编译可以调试的FFmpeg
- Windows上成功编译ffmpeg及codelite调试ffmpeg的方法
- MAC系统下利用NDK编译可供Android使用的FFmpeg(3.2.4)库
- ffmpeg编译时保留调试信息
- mingw+msys+eclipse编译调试ffmpeg
- Linux下FFmpeg编译调试常见问题解析
- VC编译FFmpeg(带调试信息)
- ffmpeg 的编译
- ffmpeg的编译大全
- 关于%02d %.10d %2d %.01f的值的区别
- 169、Majority Element
- android parcelable里面嵌套parcelable
- js 锚点问题
- Gamification MOOC 学习笔记1——Overview
- 编译可调试的ffmpeg
- CoreOS的Fleetctl笔记(一)
- 【读书】数据之巅
- EM算法原理
- ofbiz数据类型
- NSURLSession使用说明及后台工作流程分析
- Android支付接入(二):移动游戏基地
- GridView的编辑、增加、删除功能
- emacs下C/C++自动补全 之 使用Yasnippet模板补全 以自定义USACO模板为例