Google Breakpad Windows项目部署

1. python 2.X

2.安装gyp 使用gyp生成windows工程 下载地址: https://chromium.googlesource.com/external/gyp

3.进入gyp目录下使用 python setup.py install 安装gyp 安装完成后gyp目录下就会有gyp.bat文件

Google Breakpad Windows项目部署_第1张图片

4.将gyp文件移动到breakpad\src\tools目录下运行进入gyp目录下运行gyp.bat --no-circular-check "../../client/windows/breakpad_client.gpy"

生成windows项目,这时进入breakpad/src/client/windows目录下就可以看到几个windows项目的解决方案

Google Breakpad Windows项目部署_第2张图片

Google Breakpad Windows项目部署_第3张图片

5.打开需要部署,选择添加已有项目进入breakpad/src/client/windows添加common项目的解决方案

进入breakpad/src/client/windows/crash_generation添加crash_generation_client项目解决方案

进入breakpad/src/client/windows/handler/exception_handler项目解决方案

Google Breakpad Windows项目部署_第4张图片

6.点击上面添加大三个项目在debug调试情况下 项目属性->C/C++ ->代码生成->运行库 选择MDd

然后都选择生成,在项目的Debug/lib目录下就会生成需要的三个动态库

Google Breakpad Windows项目部署_第5张图片

Google Breakpad Windows项目部署_第6张图片

7.添加breakpad包含目录,项目属性->VC++目录->包含目录 中添加你的breakpad/src路径(根据你的breakpad路径而定)

Google Breakpad Windows项目部署_第7张图片

8.添加动态库路径,项目属性->连接器->输入->附加依赖项 添加刚才生成的三个lib库的路径

Google Breakpad Windows项目部署_第8张图片

9.修改main.cpp文件

#include "client\windows\handler\exception_handler.h"//breakpad头文件

int breakTest() { //测试崩溃函数
/*int zero = 0;
int n = 5 / zero;*/
int *p = NULL;
int i = *p;
return (int)i;
}
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 %ws\n", id);
 }
 else {
 printf("dump failed\n");
 }
return succeeded;

}

//在main函数中添加

std::wstring dump_path = L"C:\\Dumps\\";//dump文件存储路径 注意是wstring类型
google_breakpad::ExceptionHandler *eh = new google_breakpad::ExceptionHandler(
dump_path, NULL, callback, NULL,
google_breakpad::ExceptionHandler::HANDLER_ALL);

breakTest();

10.编译后打开exe文件运行 在C:dumps路径下就会生成dump文件(如果没有dumps目录请自己手动创建)

打开dumps文件就可以看到崩溃信息

Google Breakpad Windows项目部署_第9张图片

你可能感兴趣的:(Google Breakpad Windows项目部署)