使用Eclipse对FFMpeg进行调试

简介: 在研究代码的过程中,调试运行是一种非常有效的方法。我们常用的Visual Studio建立的工程可以很方便地对程序进行调试运行。但是对于FFMpeg这样的工程,想要进行单步调试就没这么容易了。

在研究代码的过程中,调试运行是一种非常有效的方法。我们常用的Visual Studio建立的工程可以很方便地对程序进行调试运行。但是对于FFMpeg这样的工程,想要进行单步调试就没这么容易了。如果一定要调试运行FFMpeg,最好按照我们之前博文的描述编译完成之后,放在Eclipse中进行调试运行。

在开始之前,需要按照前几篇博文的描述安装VMware、Ubuntu,并编译FFMpeg的源代码。


1、安装Eclipse

FFmpeg由C语言编写,因此我们的Eclipse需要安装cdt。在网上找过大量资料如何安装编译环境,但是表述都有些问题,安装之后依然无法建立C/C++工程。坑爹的是,最后发现其实这一步简单无比,一条语句就可以搞定:

sudo apt-get install eclipse eclipse-cdt g++
如果g++已经安装过的话在上述命令中可以省略。

参考:http://stackoverflow.com/questions/14721514/how-to-install-eclipse-with-c-in-ubuntu-12-10


2、在Eclipse中新建工程

我们已经完成了安装Eclipse cdt之后,选择File->New->Makefile Project With Existing Codes。


在随后弹出的对话框中,Browse到我们之前编译好的FFMpeg的目录中,此时Project Name会自动为我们填写好。然后在Toolchain for indexer settings中选择Linux GCC。单击确定,此时工程就建好了。

  • 注意1:如果FFMpeg之前是在其他目录中编译的,那么事先必须在Eclipse的workspace中单独再建一个目录并将之前的目录中的所有内容拷贝其中。如果直接browse到workspace之外,将无法建立工程。
  • 注意2:源代码的目录不要包含中文,否则Eclipse无法识别,将会出现找不到源码无法调试的情况。最保险的办法就是,将FFMpeg的源代码拷贝到Eclipse的workspace中进行编译,并在其中进行调试操作,可保证万无一失。


3、设置调试参数

我们在源代码目录——Binary目录下找到ffplay_g文件,右键单击,选择Debug Configuration:


在弹出的对话框中双击C/C++ Application,选择调试参数,如播放的文件:


然后apply在debug,就可以开始调试了。

在默认设置下,断点会停在main函数的第一行,但是现在显示的界面是酱紫的:


我们想要的源代码呢?其实做一个简单的操作就可以:单击右上角Debug前面的按钮并选择C/C++,就能看到C代码了。

调试过程中所用到的四个控制按键:

  • F5:单步调试,遇到函数时进入函数内部,相当于VS的F11;
  • F6:单步调试,遇到函数时跳过,相当于VS的F10;
  • F7:单步调试,从当前方法中跳出,相当于VS中的Shift+F11;
  • F8:调试运行程序,直到第一个断点,相当于VS中的F5.

目录
相关文章
|
7月前
|
Java Android开发
在用 Eclipse 搭建 SAP Commerce Cloud 调试环境时,错误和正确的 buildfile
在用 Eclipse 搭建 SAP Commerce Cloud 调试环境时,错误和正确的 buildfile
43 0
|
7月前
|
Android开发
SAP Hybris Commerce Cloud Accelerator Storefront 在 Eclipse 中的调试
SAP Hybris Commerce Cloud Accelerator Storefront 在 Eclipse 中的调试
30 0
|
10月前
|
NoSQL IDE 开发工具
Eclipse配合GDB和jlinkGDBServer仿真调试STM32
Eclipse配合GDB和jlinkGDBServer仿真调试STM32
|
编解码 缓存 NoSQL
用Ubuntu18与clion调试FFmpeg
用Ubuntu18与clion调试FFmpeg
245 0
|
Java 程序员 开发工具
Eclipse 答疑:如何使用 Eclipse 进行断点(Breakpoints)调试?
Eclipse 答疑:如何使用 Eclipse 进行断点(Breakpoints)调试?
420 0
Eclipse 答疑:如何使用 Eclipse 进行断点(Breakpoints)调试?
|
Java 程序员 Android开发
Eclipse常用快捷键和调试方法
Eclipse常用快捷键和调试方法
237 0
|
开发工具 Android开发 开发者
Eclipse 开发工具(debug 调试)|学习笔记
快速学习 Eclipse 开发工具(debug 调试)
|
NoSQL 开发工具 Android开发
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(三)
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(三)
270 0
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(三)
|
Go 开发工具 Android开发
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(二)
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(二)
153 0
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(二)
|
Ubuntu Linux 编译器
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(一)
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(一)
248 0
【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)(一)

推荐镜像

更多