在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

在mac和android上玩google-breakpad(崩溃日志收集)_第1张图片

修改后发现编译的时候还是报一个错误说找不到.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

你可能感兴趣的:(在mac和android上玩google-breakpad(崩溃日志收集))