Отладка Android JNI занимает вечность - PullRequest
1 голос
/ 25 февраля 2012

Я использую Eclipse + gdbserver + ndk7. Кажется, что отладка с помощью нативного кода (вызываемого Java) занимает много времени, чтобы пройти через (~ 20 секунд каждый шаг), что может вызвать это? это нормальное поведение?

1 Ответ

0 голосов
/ 25 февраля 2012

Вы можете использовать ведение журнала для отладки. пожалуйста, посмотрите на эту ссылку .

  • Включите файл log.h в исходный файл Android NDK

     #include <android/log.h>
    
  • Добавьте строку ниже в ваш файл Android.mk make.

     LOCAL_LDLIBS := -llog
    

Теперь вы можете начать журналирование, эти два шага позволяют вам писать журналы в Eclipse из Android NDK. Напишите строку ниже в своем коде Android NDK, и журнал появится в Eclipse

     __android_log_write(ANDROID_LOG_ERROR,"Tag","Message");

используйте следующие флаги для записи логов в нужном вам столбце.

typedef enum android_LogPriority {
    ANDROID_LOG_UNKNOWN = 0,
    ANDROID_LOG_DEFAULT,    /* only for SetMinPriority() */
    ANDROID_LOG_VERBOSE,
    ANDROID_LOG_DEBUG,
    ANDROID_LOG_INFO,
    ANDROID_LOG_WARN,
    ANDROID_LOG_ERROR,
    ANDROID_LOG_FATAL,
    ANDROID_LOG_SILENT,     /* only for SetMinPriority(); must be last */
} android_LogPriority

Например, если вы хотите написать в столбце Информация, вы должны написать

     __android_log_write(ANDROID_LOG_INFO,"Tag","Message");
...