如何使用Eclipse在Android上调试C++代码?

2023-12-22

我写了一些视频流媒体(C++)在 PC 上,现在我尝试在 Android 上实现相同的跨平台部分。我“玩”够了NDK并了解一些如何编译和集成C使用 Android(又名 JNI)编写代码。

问题是,有时我的应用程序会崩溃,并且如您所知,Android 不会指出代码失败的位置(在 C/C++ 部分)。

Video Streamer 代码有很多库,比如说,我用来留下日志的开源部分 - 这不是个好主意。 我使用Eclipse,如何调试 C++ 代码或者 Eclipse 是否有任何插件可以调试?

多谢,


要记录内容并在 Android 的 logcat 中查看它,我有一个简单的类:

#ifndef LOG_H_
#define LOG_H_

#include <android/log.h>

#define LOGD(LOG_TAG, ...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(LOG_TAG, ...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGV(LOG_TAG, ...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)
#define LOGW(LOG_TAG, ...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)
#define LOGE(LOG_TAG, ...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)

#endif /* LOG_H_ */

您可以这样使用它:

LOGI("YourClassTag","let's print some stuff: %i, %s", 4, "I'm a string");

要获取某些崩溃的更多信息,您可以尝试启用JNICheck http://developer.android.com/training/articles/perf-jni.html#extended_checking使用亚行:

如果您有常规设备,可以使用以下命令:

adb shell setprop debug.checkjni 1

这不会影响已经运行的应用程序,但会影响从该应用程序启动的任何应用程序 点 on 将启用 CheckJNI。 (将属性更改为任何其他 值或简单地重新启动将再次禁用 CheckJNI。)在这种情况下, 下次你会在 logcat 输出中看到类似的内容 应用程序启动:

D 后期启用 CheckJNI

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Eclipse在Android上调试C++代码? 的相关文章

随机推荐