使用Eclipse对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.
时间: 2024-09-21 14:32:59

使用Eclipse对FFMpeg进行调试的相关文章

eclipse,如何以调试模式运行junit

问题描述 eclipse,如何以调试模式运行junit 也就是说,要跟踪调试junit测试类的代码,怎么弄? 答:eclipse运行程序有2种模式(不管是运行java项目.web项目,还是junit测试类),1)直接运行程序(右键项目-->run as)2)以调试模式运行程序(右键项目-->debug as):以调试模式运行,就可以一步步的打断点调试代码 解决方案 断点 用debug模式 解决方案二: 就直接在测试类中设置断点,然后用debug模式运行呀. 解决方案三: 是debug模式运行的

安卓-AndroidStudio(eclipse)如何断点调试进入onClickListener

问题描述 AndroidStudio(eclipse)如何断点调试进入onClickListener 在真机上断点调试时,到了监听器的部分,就跳过了,然后就进入了looper.如何进入监听器?在真机上按并没有反应 解决方案 android studio 下操作步骤如图: 先启动你的app 1.鼠标左键单击蓝框位置,即可打上断点 2.点击红框位置图标 3.在弹出框中选择当前app的进程点击ok按钮 4.在界面上点击你打断点位置的那个按钮. 执行上述4个步骤即可实现你的问题. 解决方案二: 你在on

eclipse安卓真机调试出现问题

问题描述 eclipse安卓真机调试出现问题 用eclipse新建自动生成的HELLOWORLD的程序 无法导入手机 安装过程如下: [2015-07-19 15:06:32 - helloworld] ------------------------------ [2015-07-19 15:06:32 - helloworld] Android Launch! [2015-07-19 15:06:32 - helloworld] adb is running normally. [2015-

eclipse/intellij idea 远程调试hadoop 2.6.0

很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试,那么问题来了,win7下的eclipse或intellij idea如何远程提交map/reduce任务到远程hadoop,并断点调试? 一.准备工作 1.1 在win7中,找一个目录,解压hadoop-2.6.0,本文中是D:\yangjm\Code\study\hadoop\hadoop-2.

Eclipse CDT使用GDB调试C++的问题:无源文件命名(No source file named)

Eclipse CDT调试C++, 使用的Unix的调试器GDB; 由于在Unix下, 文件的目录格式使用的是"/", 但是在Windows下, 文件的目录格式使用的是"\", 在C/C++中是转义字符; 所以导致GDB由Unix移植到Windows下, 使用的文件目录会发生转义错误, 从而找不到源文件, 即无源文件命名(No source file named); 使得GDB即使设置断点, 也无法挂起(Suspend)程序, 出现调试问题, 无法调试; 解决方法:

eclipse/intellij idea 远程调试hadoop 2.6.0_java

很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试,那么问题来了,win7下的eclipse或intellij idea如何远程提交map/reduce任务到远程hadoop,并断点调试? 一.准备工作 1.1 在win7中,找一个目录,解压hadoop-2.6.0,本文中是D:\yangjm\Code\study\hadoop\hadoop-2.

VC下ffmpeg例程调试报错处理

tools/options/directories/include files  添加ffmpeg头文件所在路径 tools/options/directories/library files  添加ffmpeg库路径 project/settings/link/object/library modules 添加所用的ffmpeg库 二 二二 二. .. .报错解决 报错解决报错解决 报错解决 1.解决:Cannot open include file: 'inttypes.h' 更新ffmpe

linux + ffmpeg + eclipse 调试

使用linux + ffmpeg + eclipse调试步骤OS : ubuntu 12.04Eclipse : 3.7.2 为Eclipse安装cdt插件,使其支持c/c++ 导入ffmpeg项目 File --> Import --> c / c++ --> Existing Code as Makefile Project 输入 Project Name, 选择ffmpeg所在目录, Toolchain选择Linux GCC  项目右键 --> Debug As -->

开发一个调试JSP的Eclipse插件

js 本文通过开发一个JSP 编辑器插件的示例,介绍了 Eclipse 中设置 JSP 断点的方法,以及如何远程调试 JSP.作为基础知识,本文的前两部分描述了 JAVA Debug 和 JSR-45 的基本原理. 环境要求: 本文的代码是在 Eclipse3.0.0,JDK1.4.2 和 Tomcat5.0.5 上测试过的. JAVA 调试框架(JPDA)简介 JPDA 是一个多层的调试框架,包括 JVMDI.JDWP.JDI 三个层次.JAVA 虚拟机提供了 JPDA 的实现.其开发工具作为