Android NDK красивая печать

Я использую Android NDK с Eclipse + CDT, работающий на OSX.

Я хотел бы иметь возможность отлаживать содержимое библиотеки STD. Я видел несколько руководств по использованию скриптов Python для включения этой «красивой печати». Проблема в том, что все они используют GDB по умолчанию, а не тот, который предоставляется Android NDK, поэтому все они мне не подходят.

Как отладить библиотеку STD с помощью Android NDK?

6

Решение

Если вам нужно просто отладить, а не заставить какой-то уже выбранный инструмент работать, я могу поделиться этим кодом:

dlog.h:

#include <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG  , "~~~~~~", __VA_ARGS__)
#define DLOG(...) __android_log_print(ANDROID_LOG_DEBUG  , "~~~~~~", __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , "~~~~~~", __VA_ARGS__)
#define ELOG(...) __android_log_print(ANDROID_LOG_ERROR  , "~~~~~~", __VA_ARGS__)

Я определяю оба DLOG а также LOGD чтобы избежать запоминания порядка))

в Android.mk:

include $(CLEAR_VARS)
LOCAL_MODULE := ...
LOCAL_SRC_FILES += ...
LOCAL_LDLIBS := -llog      # <=========== link with liblog.so
include $(BUILD_SHARED_LIBRARY)

Использование:

DLOG("this is a test %s 0x%x","whoa!",1234);

Вы видите эти сообщения в том же месте, где вы видите Log.d() выходной я предпочитаю adb logcat или же adb logcat | grep something,

4

Другие решения


По вопросам рекламы [email protected]