我是靠谱客的博主 合适狗,最近开发中收集的这篇文章主要介绍Win10+VS2015 下载、编译和使用google breakpad一、下载准备二、编译测试参考文献:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、下载准备

1.1 下载breakpad
breakpad源码官方网址:https://chromium.googlesource.com/breakpad/breakpad
官方下载方法,git命令:

git clone https://chromium.googlesource.com/breakpad/breakpad

但如果下载出错,如:

Cloning into ‘breakpad’…
fatal: unable to access ‘https://chromium.googlesource.com/breakpad/breakpad/‘: Failed to connect to chromium.googlesource.com port 443: Timed out

可尝试用git命令:

git clone https://chromium.googlesource.com/breakpad/breakpad.git

或者

git clone http://chromium.googlesource.com/breakpad/breakpad.git

1.2 下载gyp
git命令:

git clone https://chromium.googlesource.com/external/gyp

1.3 下载googletest
git命令:

git clone https://github.com/google/googletest.git

1.4 安装python2.7
用gyp打包breakpad时需要python支持,python在官网下载安装并添加到环境变量中,比较简单,自行百度。不过不能安装python3,据说会出错,没亲自试过。

二、编译

1)gyp文件夹复制到breakpadsrctools文件夹下
2)breakpadsrc目录下,新建文件夹并命名为testing。
3)将googletest文件夹下的googletest和googlemock文件夹复制到breakpadsrctesting文件夹下。
4)用gyp构建出工程文件。打开cmd命令窗口,cd进入到breakpadsrctoolsgyp目录,执行命令:

gyp.bat --no-circular-check ....clientwindowsbreakpad_client.gyp

如果想用vs2005编译,则执行上面命令前,需要先对版本进行设置:

set GYP_MSVS_VERSION=2005

5)Visual Studio 2015打开breakpadsrcclientwindows目录下的breakpad_client.sln工程。
右键build_all项目,点击生成。成功后在breakpadsrcclientwindowsDebuglib文件夹下会有各lib库生成。
这里写图片描述
我用的是Win10和VS2015社区版,这个编译过程没有出现过任务错误,比较顺利。如果有错误,可参考http://blog.csdn.net/bingzhongdehuoyan/article/details/53860433解决。

测试

1)新建一个工程testcrash,新建main.cpp:

#include <cstdio>
#include "client/windows/handler/exception_handler.h"

bool callback(const wchar_t *dump_path, const wchar_t *id,
    void *context, EXCEPTION_POINTERS *exinfo,
    MDRawAssertionInfo *assertion,
    bool succeeded)
{
    if (succeeded) {
        printf("dump guid is %wsn", id);
    }
    else {
        printf("dump failedn");
    }
    system("pause");
    return succeeded;
}

int mydiv(int x, int y)
{
    int z;
    z = x / y;
    return z;
}

int main()
{
    google_breakpad::ExceptionHandler eh(
        L".", NULL, callback, NULL,
        google_breakpad::ExceptionHandler::HANDLER_ALL);
    printf("9/3=%dn", mydiv(9, 3));
    printf("9/0=%dn", mydiv(9, 0));  //程序将在此崩溃
    printf("8/2=%dn", mydiv(8, 2));
    system("pause");
    return 0;
}

2)然后右键wincrash->属性->VC++目录->包含目录->编辑:加入 你的路径breakpadsrc
3)右键wincrash->属性->链接器->输入->附加依赖项->编辑:加入lib库

你的路径libcommon.lib
你的路径libcrash_generation_client.lib
你的路径libcrash_generation_server.lib
你的路径libexception_handler.lib

4)右键wincrash->属性->C/C++->代码生成->运行库->多线程调试 (/MTd)
5)编译程序,运行。
这里写图片描述
6)在main.cpp文件所在文件夹里生成.dump文件。用VS2015打开。点击使用 仅限本机 进行调试,可以看到错误详情及错误具体发生在哪行代码。
这里写图片描述

这里写图片描述

参考文献:

http://blog.csdn.net/bingzhongdehuoyan/article/details/53860433

最后

以上就是合适狗为你收集整理的Win10+VS2015 下载、编译和使用google breakpad一、下载准备二、编译测试参考文献:的全部内容,希望文章能够帮你解决Win10+VS2015 下载、编译和使用google breakpad一、下载准备二、编译测试参考文献:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部