调试android NDK项目时无法单步执行代码

时间:2012-12-28 21:37:38

标签: android android-ndk android-debug

我正在尝试学习如何使用ffmpeg for android,我正在尝试设置此项目以开始:https://github.com/appunite/AndroidFFmpeg

我尝试过几个网址,效果很好。然后我用mms协议和wma支持编译ffmpeg,并尝试打开一个媒体。播放器返回无法打开错误代码为-1的媒体。我可以看到它在logcat中读取媒体的标题。我试图调试并查看它为什么会给我错误,所以我在player.c文件中放置了一个断点@ jni_player_set_data_source函数。我跟着these instructions开始在eclipse中进行ndk调试。经过几次尝试后,它达到了断点,我可以继续或停止在本机代码中的断点处。但是我不能介入代码,也看不到变量的值。我在这个函数中放了三个断点,我可以从一个断点走到另一个断点,但这就是我能做的所有事情。如何逐步执行代码并更多地查看变量的值?

  • 我将FFMpegLibrary项目设置为eclipse中的“is library”。
  • FFMpegExample使用FFMpegLibrary
  • 我正在调试FFMpegExample为“Android应用程序”
  • 然后我让jni libs加载然后运行ndk-gdb-eclipse
  • 然后我回到eclipse并开始调试FFMpegLibrary本机调试配置。然后我可以在java调试上点击F8,执行在本机代码处停止。我可以再次按F8转到下一个本机代码的断点但我不能在那里执行F5,F6或F7(任何代码步进)。这些图标在工具栏中显示。

如果您需要更多信息以了解我的设置,请与我们联系。

1 个答案:

答案 0 :(得分:0)

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