android 从 LogCat 中的 native 代码获取 Stacktrace

标签 android native crash-reports android-logcat

当我的程序的 native 部分(C++、Qt)崩溃时,我在 logcat 中看到一些堆栈跟踪。但此消息没有应用程序名称,只有“DEBUG”标签。这就是为什么我无法发送崩溃报告(我使用 ACRA)因为“因为 JellyBean logcat 仅提供来自您自己的应用程序的痕迹” 我如何才能得到或做到他们以我的申请名义写的?

对不起我的英语不好, 谢谢!

最佳答案

您可以使用以下方式(结帐this thread): 使用以下内容创建 header :

#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

关于android 从 LogCat 中的 native 代码获取 Stacktrace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14976040/

相关文章:

ios - 崩溃报告 iOS

ios - 在崩溃管理器和 Xcode 7 中强制使用崩溃符号

android - 如何在camera2,android中手动控制iso

dll - 什么是 native DLL?

android - 如何在 native 移动应用程序(例如 IOS)上实现 3D 安全(由 Visa/MasterCard SecureCode 验证)

android - okio.Base64.encode ArrayIndexOutOfBoundsException 为什么会发生这种情况?

android - 任何人都可以确认我的后台进程与前台进程的示例吗?

android - iPhone 到 Android/PC 蓝牙连接

android - 在 Android Studio 中传递字符串 "dynamically"作为类名

android - 从 Android 上的 native 进程获取数据