Android使用Google Breakpad进行崩溃日志管理

本文介绍了如何在Android项目中集成Google Breakpad,以跟踪和管理崩溃日志。通过在Mac上借助Vagrant搭建Linux环境,编译生成必要的工具和库文件。在Android.mk中添加对breakpad的引用,编译C++代码生成.so文件,并解析dmp文件以获取崩溃堆栈信息。当缺少符号文件时,使用addr2line工具定位崩溃源。
摘要由CSDN通过智能技术生成


开发过程中,最担心的问题就是程序崩溃,而且还不知道崩溃的原因,现在使用Google Breakpad来跟踪崩溃的位置,非常方便;由于目前使用Mac系统开发,Google Breadpad处理Android崩溃日志时需要Linux环境,借助 vagrant 可以非常方便地在Mac使用Ubuntu环境。


有了vagrant以后就方便了~

$ varant ssh
$ cd /vagrant
$ sudo apt-get update
$ sudo apt-get install build-essential
$ svn checkout http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad-read-only
$ cd google-breakpad-read-only
$ ./configure
$ make

执行完上面的命令将会在

  • google-breakpad-read-only/src/processor 目录下生成minidump_stackwalk 工具,用于导出crash log.
  • google-breakpad-read-only/src/tools/linux/dump_syms 目录下生成 dump_syms工具,用于导出符号文件
  • google-breakpad-read-only/src/client/linux 目录下生成 libbreakpad_client.a。

  1. 如果编译遇到 “cc1plus: warnings being treated as errors “错误,请将google-breakpad-read-only/Makefile文件中”* -Werror* “删除,重新编译。
  2. 如果make的时候遇到 “/lib64/libc.so.6: version `GLIBC_2.14’ not found “错误,说明 glibc 没有安装,安装方法请移步:http://my.oschina.net/zhangxu0512/blog/262275

集成 google-breakpad到Android项目中

1. 添加google-beakpad代码:
  • 方法一:

    • 拷贝 libbreakpad_client.a 到 jni 目录下。
    • 打开android项目的 Android.mk文件,在 LOCAL_PATH := $(call my-dir) 下加入如下代码:
include $(CLEAR_VARS)  
LOCAL_MODULE := breakpad_client  
LOCAL_MODULE_FILENAME := breakpad_client  
LOCAL_SRC_FILES := libbreakpad_client.a  
include $(PREBUILT_STATIC_LIBRARY)
  • 方法二:
$(call import-module,google-breakpad-read-only/android/google_breakpad) 
  • 方法三:
    • 将 google-breakpad 源代码里面的src文件夹拷贝到项目的jni目录下;
    • 修改Android.mk文件:
    LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := breakpad_client
LOCAL_CPP_EXTENSION := .cc .cpp
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
    main.cpp \
    src/client/linux/crash_generation/crash_generation_client.cc \
    src/client/linux/handler/exception_handler.cc \
    src/client/linux/handler/minidump_descriptor.cc \
    src/client/linux/log/log.cc \
    src/client/linux/minidump_writer/linux_dumper.cc \
    src/client/linux/minidump_writer/linux_ptrace_dumper.cc 
### 回答1: Qt是一种用于开发跨平台图形用户界面的框架,Google Breakpad是一种开源的异常报告库。要下载qt google breakpad,首先需要在Qt官方网站上下载Qt框架的安装包。在官网上选择对应的操作系统(例如Windows,Linux,Mac等),然后选择所需的Qt版本(例如Qt5,Qt6等)。下载完成后,运行安装包并按照安装向导的指示进行安装。安装完成后,可以在系统中找到Qt的安装目录。 然后,需要在Google Breakpad的官方网站上下载Breakpad的源代码。在官网上找到源代码下载页面,并选择所需的版本。下载完成后,解压缩文件并进入源代码的目录。 接下来,需要将Breakpad源代码与Qt框架进行配置和构建。通过命令行进入Breakpad源代码目录,在该目录下创建一个新的构建目录,并进入该目录。使用CMake命令来配置Breakpad与Qt的构建。具体的配置命令根据不同的操作系统和需求而定。配置完成后,使用make或ninja等构建工具进行构建。 构建完成后,将生成的Breakpad库文件(如libbreakpad.so或breakpad.dll等)与Qt应用程序进行链接。可以在Qt应用程序的.pro文件中添加链接库的配置,或者在构建命令中进行链接。完成链接后,重新编译和运行Qt应用程序即可使用Google Breakpad进行异常报告的捕获和处理。 综上所述,下载Qt和Google Breakpad的过程包括下载Qt框架安装包、下载Breakpad源代码、配置和构建Breakpad与Qt的链接,并在Qt应用程序中使用Breakpad进行异常报告的处理。 ### 回答2: QT是一款强大的跨平台应用开发框架,Google Breakpad是一套用于应用程序崩溃报告的开源工具。想要在QT中下载Google Breakpad,可以按照以下步骤进行操作。 首先,在浏览器中搜索"Google Breakpad"并进入官方网站或GitHub页面。在该页面中,可以找到相关的下载链接和文档。 其次,根据自己的操作系统选择合适的版本下载。Google Breakpad支持多种操作系统,如Windows、Linux和Mac OS X等。选择与QT兼容的版本进行下载。 下载完成后,解压缩下载的文件。其中包含了Google Breakpad的源代码和示例程序等。 接下来,可以根据Google Breakpad提供的文档和示例程序进行学习和使用。文档中详细介绍了Google Breakpad使用方法和参数设置等。 最后,根据QT的需求,将Google Breakpad集成到QT应用程序中。通过在QT项目中引入Google Breakpad的代码和相关文件,可以实现应用程序的崩溃报告和分析功能。 总之,下载并集成Google Breakpad到QT中可以帮助开发者更好地追踪和分析应用程序的崩溃问题,提高应用程序的可靠性和稳定性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值