我需要在Android平台上调试本机C代码(ndk-build)。是否可以使用Android Studio调试本机C代码(一个ndk-build项目)?
是否可以在Android Studio中进行调试,如果有的话,我该怎么做?
我需要在Android平台上调试本机C代码(ndk-build)。是否可以使用Android Studio调试本机C代码(一个ndk-build项目)?
是否可以在Android Studio中进行调试,如果有的话,我该怎么做?
在你的C源代码,你可以使用此功能添加日志:
__android_log_print(ANDROID_LOG_INFO, "MyTag", "The value is %d", some_variable);
需要这样定义:
#define <android/log.h>
日志将在Android设备中的logcat来打印。
您没有像Android应用程序中的“一步一步”调试器。
@ranjithkumards它有用吗? – LaurentY 2015-03-03 09:31:06
随着LaurentY响应,在你的头文件,你可以定义一些日志是这样的:
#define <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
一旦你.C /的.cpp代码设置的TAG为:
#define LOG_TAG "sample.cpp"
,并致电使用日志:
LOGI("Yes!!, %s, %s", some, some2);
ndk-build
,make
或任何你的应用程序适用于我最新的Studio版本(1.3 RC3)。您不必通过CLI/logcat进行调试。
我试图重新设置您的帖子,但是有点混乱,如果我错过了某些内容,请再次编辑它以使问题更清晰。如果你想得到答案,试着写体面的英语是很重要的。 – tux3 2015-03-06 17:38:01
即使您的IDE无法成为ndk的gdb的前端,也应该可以独立运行它或使用不同的前端。有一点点战略思想,如下面的答案中所建议的日志调试可能确实是解决问题的最直接途径。 – 2015-03-06 18:04:11