2012-02-24 110 views
1

我使用Eclipse + gdbserver + ndk7。似乎通過本地代碼(由Java調用)進行調試需要很長時間(每步約20秒),可能會導致這種情況?這是正常的行爲?Android JNI調試需要永久

+0

?當我使用模擬器使用gdb時,我注意到了巨大的延遲。在設備上調試應用程序沒有這種延遲。 – 2012-02-24 22:46:31

+0

我正在使用實際的設備 – NadavRub 2012-02-25 05:28:18

回答

0

您可以使用日誌進行調試。請看這link

  • 包括log.h文件到你的Android NDK源文件

    #include <android/log.h> 
    
  • 添加下面的一行到你的Android.mk使文件。現在

    LOCAL_LDLIBS := -llog 
    

你就可以開始記錄,這兩個步驟可以讓你從Android NDK寫在Eclipse日誌。下面寫在你的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"); 
+0

那麼,用日誌進行調試並不是那麼高效......我真的需要能夠通過調試器來充分利用我的時間...... – NadavRub 2012-02-25 05:29:33