0

我正在尝试在使用 cocos2d-x 引擎的 android 上调试本机 C++ 应用程序。目前,我的 C++ 断点在调试器完成后被完美命中,但每当我尝试单步执行代码时,我会立即在源代码视图中收到“无可用源代码”消息。

我正在使用带有 ADK 包和 NDK 的“Debug As - Android Native Application”。我已添加NDK_DEBUG=1到我的构建命令并添加android:debuggable="true"到我的清单 xml。

我还缺少其他东西来使我的调试步进工作吗?

提前致谢!

更新:当我开始调试时,我的控制台中也会收到以下警告:

warning: sh_link not set for section `.ARM.exidx'
warning: Could not load shared library symbols for 66 libraries, e.g. libstdc++.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
warning: Breakpoint address adjusted from 0xb00058f5 to 0xb00058f4.

我曾尝试set solib-search-path /cygdrive/c/mygameproject/android/obj/local/armeabi:/cygdrive/c/mygameproject/android/obj/local/armeabi/objs-debug在 cygwin 终端中执行,但这似乎对手头的警告或问题没有影响。

4

1 回答 1

0

我们还没有看到那个确切的问题,但是我们已经在Apportable SDKgithub上的源代码中以二进制形式提供的 gdb 的 Apportable 分支中修复了类似的问题。

调试 cocos2d 是我们用户的常见用例,并且没有出现步进问题。

使用纯 NDK 应用程序可能需要一些麻烦,但应该不会太糟糕。

于 2013-08-20T01:56:14.463 回答