我目前正在尝试通过ndk-gdb调试Android中的本机代码,但我遇到了一些麻烦。 即使我开始一个非常简单的项目(比方说,例如一个默认的cocos2d-x v3项目)并运行
ndk-build NDK_DEBUG=1
我最终在我的android项目中使用了以下文件夹结构
...
libs/
armeabi/
libcocos2dcpp.so
...
而不是预期的:
...
libs/
armeabi/
gdb.setup
gdbserver
libcocos2dcpp.so
...
为了使用ndk-gdb,我需要这两个gdb文件。
我正在使用cocos版本3.2和Android NDK版本r9d。
生成gdb文件的NDK_DEBUG=1
是否足够?我也在我的清单文件中尝试了android:debuggable="true"
,但它没有用。
修改
在运行Digit建议的命令后,我发现了一条非常可疑的行
Android NDK: Application 'local' forced *not* debuggable through NDK_DEBUG
运行命令ndk-build NDK_LOG=1 NDK_DEBUG=1
BUT
如果我改为ndk-build NDK_LOG=1 NDK_DEBUG=true
我
Android NDK: Application 'local' forced debuggable through NDK_DEBUG
所以现在好了,虽然=1
不被认为是真的,但确实很奇怪。
答案 0 :(得分:4)
你能粘贴' ndk-build NDK_LOG = 1 NDK_DEBUG = 1'的输出,这应该包含有关ndk-build正在做什么的更多信息,并且很可能提供解释。