在mac和android上玩google-breakpad(崩溃日志收集)

  1. 在mac上编译程序
./configure
make;
make install;

输出

 autotools/install-sh -c -d '/usr/local/bin'
  /usr/bin/install -c src/processor/minidump_dump src/processor/minidump_stackwalk '/usr/local/bin'
 autotools/install-sh -c -d '/usr/local/lib'
 /usr/bin/install -c -m 644  src/libbreakpad.a '/usr/local/lib'
 ( cd '/usr/local/lib' && ranlib libbreakpad.a )
2016-04-28 13:43:31.782 xcodebuild[884:16828] [MT] PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin' not present in DVTPlugInCompatibilityUUIDs
 autotools/install-sh -c -d '/usr/local/share/doc/breakpad-0.1'
 /usr/bin/install -c -m 644 AUTHORS COPYING ChangeLog INSTALL NEWS README '/usr/local/share/doc/breakpad-0.1'

一开始理解错误,以为这样不行的。在别的文章中试着这样去编译:

SYSROOT=$android-ndk-r8d/platforms/android-8/arch-arm  
export CC="arm-linux-androideabi-gcc --sysroot=$SYSROOT"  
./configure --disable-processor --disable-tools --host=arm-linux-androideabi  

后来想明白这是编译在android平台上用的。但其实也在cocos2dx项目中也不用这样编译的。我的项目中是这样的

LOCAL_C_INCLUDES += E:/google-breakpad/srcs

LOCAL_WHOLE_STATIC_LIBRARIES += breakpad_client

include E:/google-breakpad/android/google_breakpad/Android.mk

/google-breakpad/src/tools/mac/dump_syms
这个工具也要编译的。
我不知道这个东西和刚才编译生成的minidump_dump有什么区别,直接打开dump_syms.xcodeproj是编译不过。

我修改的地方1

这里写图片描述

修改后发现编译的时候还是报一个错误说找不到<a.out.h>,直接注释掉就可以了。
  1. 使用

①导出symbols文件

./dump_syms libgame.so > libgame.so.sym

②建立symbols文件夹

symbols/libgame.so/2D1C163A1347A1190B26F10560E926CE0

后面那个一堆乱数字是前一步生成的“libgame.so.sym”文件的第一行复制出来的

③复制libgame.so.sym到新文件夹中,最终它的路径:

symbols/libgame.so/2D1C163A1347A1190B26F10560E926CE0/libgame.so.sym

以上这个麻烦的操作可以用一个脚本搞定的

wget http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/tools/symbolstore.py

mac生成dump_sym是不能查看libgame.so的。因为在mac上的动态库根本就不是.so

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值