1. python 2.X
2.安装gyp 使用gyp生成windows工程 下载地址: https://chromium.googlesource.com/external/gyp
3.进入gyp目录下使用 python setup.py install 安装gyp 安装完成后gyp目录下就会有gyp.bat文件
4.将gyp文件移动到breakpad\src\tools目录下运行进入gyp目录下运行gyp.bat --no-circular-check "../../client/windows/breakpad_client.gpy"
生成windows项目,这时进入breakpad/src/client/windows目录下就可以看到几个windows项目的解决方案
5.打开需要部署,选择添加已有项目进入breakpad/src/client/windows添加common项目的解决方案
进入breakpad/src/client/windows/crash_generation添加crash_generation_client项目解决方案
进入breakpad/src/client/windows/handler/exception_handler项目解决方案
6.点击上面添加大三个项目在debug调试情况下 项目属性->C/C++ ->代码生成->运行库 选择MDd
然后都选择生成,在项目的Debug/lib目录下就会生成需要的三个动态库
7.添加breakpad包含目录,项目属性->VC++目录->包含目录 中添加你的breakpad/src路径(根据你的breakpad路径而定)
8.添加动态库路径,项目属性->连接器->输入->附加依赖项 添加刚才生成的三个lib库的路径
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文件就可以看到崩溃信息