2012-02-24 5 views
1

Eclipse + gdbserver + ndk7을 사용하고 있습니다. 그것은 네이티브 코드 (자바에 의해 호출)를 통해 디버깅 단계 (~ 20 초 각 단계) 단계를 걸리는 것, 그 원인은 무엇입니까? 이 정상적인 행동입니까?Android JNI 디버깅은 영원히 걸립니다

+0

를 작성해야합니다? 나는 에뮬레이터와 함께 gdb를 사용할 때 엄청난 지연을 느꼈다. 기기에서 앱을 디버깅하는 데 지연이 없습니다. –

+0

실제 장치를 사용하고 있습니다 – NadavRub

답변

0

로깅을 사용하여 디버깅 할 수 있습니다. 이 link을보십시오.

  • #include <android/log.h> 
    
  • 이 Android.mk 수 있도록 파일에 아래 줄을 추가 안드로이드 NDK 소스 파일에 log.h 파일을 포함합니다.

    LOCAL_LDLIBS := -llog 
    

이제 로깅을 시작할 수 있습니다,이 두 단계는 안드로이드 NDK에서 이클립스에서 로그를 작성할 수 있습니다. 안드로이드 NDK 코드에서 아래의 라인을 쓰기 로그는 BW 원하는 열에서 로그를 작성하는 플래그를 다음 이클립스

 __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"); 
+0

로그를 사용하여 디버깅을하는 것이 효율적이지 않습니다 ... 저는 디버거를 통해 내 시간을 잘 활용할 수 있어야합니다. – NadavRub

관련 문제