2
當我的程序的本地部分(C++,Qt)崩潰時,我在logcat中看到一些堆棧跟蹤。但是這個消息沒有應用程序名稱,只有「DEBUG」標籤。這就是爲什麼我無法得到它發送崩潰報告(我使用ACRA)因爲「JellyBean logcat只提供你自己的應用程序的痕跡」 我怎麼能得到它或做他們正在寫我的應用程序的名稱?android從LogCat中的本地代碼獲取Stacktrace
對不起,我的英文不好, 謝謝!
當我的程序的本地部分(C++,Qt)崩潰時,我在logcat中看到一些堆棧跟蹤。但是這個消息沒有應用程序名稱,只有「DEBUG」標籤。這就是爲什麼我無法得到它發送崩潰報告(我使用ACRA)因爲「JellyBean logcat只提供你自己的應用程序的痕跡」 我怎麼能得到它或做他們正在寫我的應用程序的名稱?android從LogCat中的本地代碼獲取Stacktrace
對不起,我的英文不好, 謝謝!
您可以使用下面的方法(結帳this thread): 創建頭具有以下內容:
#include <android/log.h>
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "libnav",
__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "libnav",
__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO , "libnav",
__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN , "libnav",
__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , "libnav",
__VA_ARGS__)
#endif // ANDROID_ALOG_H
,或直接使用__android_log_print
。
或拋出異常。 – 2013-02-20 11:09:04
它已經在這裏問 - http://stackoverflow.com/questions/8415032/catching-exceptions-thrown-from-native-code-running-on-android – sandrstar 2013-02-20 11:12:29
謝謝,但它不是我想到的。我已經有了這個函數,但是它們並沒有被在SIGSEGV處理程序中打印stacktrace的系統庫使用,例如...我可以爲SIGSEGV設置我的處理程序,但不知道如何從它獲取堆棧跟蹤... – Dmitry 2013-02-20 11:55:59