2014-06-23 7 views
6

Ich benutze Android NDK mit Eclipse + CDT, läuft auf OSX.Android NDK schön Drucken

Ich möchte in der Lage sein, den Inhalt der STD-Bibliothek zu debuggen. Ich habe mehrere Tutorials zur Verwendung von Python-Skripten gesehen, um dieses "schöne Drucken" zu ermöglichen. Das Problem ist, dass alle von ihnen die Standard-GDB verwenden, und nicht die von der Android NDK zur Verfügung gestellt, so dass sie alle für mich versagen.

Wie kann ich die STD-Bibliothek mit Android NDK debuggen?

+0

Interessante Frage, ich habe eine solche Möglichkeit für eine lange Zeit gesucht! Immer noch keine Antwort trotz der Prämie: - /. – PhilLab

+0

Ich bin auch auf der Suche nach dem schönen Drucken für Android NDK – martinako

Antwort

4

Wenn Sie gerade debuggen müssen, anstatt einige bereits gewählte Werkzeug funktioniert, kann ich diesen Code teilen:

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__) 

definiere ich beide DLOG und LOGD zu ersparen, die Reihenfolge))

in Android.mk erinnern:

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

Verbrauch: siehe

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

Sie diese Nachrichten an der gleichen Stelle, wo Sie sehen die Log.d() Ausgang, ziehe ich adb logcat oder adb logcat | grep something.

+0

Danke für die Antwort, aber ist nicht das, was ich suche. Ich möchte DLOG nicht überall schreiben müssen. Ich muss in der Lage sein, zum Beispiel einen std :: vector zu überprüfen, der mit eclipse debuggen kann. Im Moment zeigt es nur die Speicherrichtungen. – user3468999