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项目部署

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项目部署

Google Breakpad Windows项目部署

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项目部署

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

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

Google Breakpad Windows项目部署

Google Breakpad Windows项目部署

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

Google Breakpad Windows项目部署

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

Google Breakpad Windows项目部署

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项目部署

相关文章:

  • 2021-12-17
  • 2021-07-11
  • 2022-12-23
  • 2021-06-19
  • 2021-09-23
  • 2021-09-23
  • 2021-05-25
  • 2022-12-23
猜你喜欢
  • 2021-04-08
  • 2022-01-28
  • 2022-12-23
  • 2022-03-04
  • 2021-05-13
  • 2021-08-15
  • 2021-06-28
相关资源
相似解决方案