2012-12-28 31 views
2

我想学习如何使用的ffmpeg的Android,并正尝试建立这个项目开始:https://github.com/appunite/AndroidFFmpeg无法通过单步执行代码,同时调试的Android NDK项目

它与我尝试了一些网址,伟大的工作。然后我用mms协议和wma支持编译ffmpeg,并试图打开一个媒体。播放器返回无法打开错误代码为-1的媒体。我可以看到它在logcat中读取媒体的标题。我试图调试,看看它为什么会给我错误,所以我在player.c文件中放置了一个breakpoint @ jni_player_set_data_source函数。我遵循these instructions在eclipse中启动ndk调试。经过几次尝试后,它达到了断点,我可以继续或停在本机代码的断点处。但是我不能介入代码,并且看不到变量的值。我在这个函数中放了三个断点,我可以从一个断点跳到另一个断点,但是我可以做的就是这样。我如何遍历代码并更多地了解变量的值?

  • 我在eclipse中将FFMpegLibrary项目设置为“is library”。
  • 的FFMpegExample使用FFMpegLibrary
  • 我调试FFMpegExample为“Android应用程序”
  • 我然后让JNI库加载并运行NDK-GDB-蚀
  • 然后我回到Eclipse和启动调试FFMpegLibrary本地调试配置。然后我可以在java调试中打F8,然后停止在本机代码上执行。我可以再次按F8去下一个本地代码的断点,但我不能在那里做F5,F6或F7(任何代码步进)。这些图标在工具栏中显示。

如果您需要更多信息来了解我的设置,请让我知道。

+0

有完全相同的问题,F5,F6和F7什么都不做,只有F8停在断点上。 –

回答

0

我放弃了试图进一步调试该代码并使用Vitamio库。如果您只是在寻找一些支持更多格式和协议的Android媒体播放器库,请使用Vitamio bundle。我不知道许可证的工作原理。我只是需要测试一些东西,所以,我没有费心去发现它。请分享你的经验,如果你设法做调试工作。

相关问题