当前位置:网站首页>break pad源码编译--参考大佬博客的总结
break pad源码编译--参考大佬博客的总结
2022-08-11 06:40:00 【洛阳鱼紫怡】
背景
在排查崩溃bug时自己很崩溃,想着如果有工具可以定位就好。上网搜了搜发现确实有,这样的工具,分别是Google公司的Breakpad和Crashpad,目前暂时使用Breakpad,因为Crashpad的一些资源需要去外网上面才能获取(主要是Google官网的编译说明以及相应的开发工具,如果有大佬知道怎么获取,请帮帮我)。
参考博客
这是一篇经验总结的文章,当然大部分都是借鉴他人的,所以附上参考的原文链接,感谢这些博主。我的总结也是再此基础上写的。
https://blog.csdn.net/libaineu2004/article/details/108033316
标题 : dump系列(3)Qt使用Google Breakpad或Crashpad捕获程序崩溃报告
https://blog.csdn.net/GoForwardToStep/article/details/56304285
标题 : Google Breakpad 在 windows下捕获程序崩溃报告
https://blog.csdn.net/zyhse/article/details/112577340
标题 : 在Windows下编译Breakpad
选择Breakpad与Crashpad的纠结
看了好多资料,发现说Breakpad已经被淘汰,Crashpad是正在使用的。不过我想Breakpad也够我用了,我可能用到的功能也不会太多。另外我看了看这个项目还有大牛们在维护。
过程
我首先参考的博客是Google Breakpad 在 windows下捕获程序崩溃报告这篇,这里面提供了Breakpad项目的源码,如下图。
这里我选择去github上直接下载源码。用一个最新的。
https://github.com/google/breakpad
注意使用了github上的源码,那么Google Breakpad 在 windows下捕获程序崩溃报告文章的后面,有一些方法就不适用了。下面就会提到。
记得搭建python环境,我安装的版本也是2.7.13,使用上没有问题。
接着是安装GYP工具,博客中是这么写的,而我下载的源码中没有这个目录,这里就博客里面的不一样了。
GYP(Generate Your Projects)是由 Chromium 团队开发的跨平台自动化项目构建工具,Chromium 便是通过 GYP 进行项目构建管理。
而GYP在 源码的 \google_breakpad\src\tools \gyp 目录下。打开cmd命令提示窗口,进入到 \google_breakpad\src\tools \gyp 目录,输入命令 setup.py install ,完成gyp的安装。
接下来就可以参考博客在Windows下编译Breakpad,这里面提到了还需要额外的安装GYP工具,大家照着大佬说着做就可以了,但是在安装的时候(执行 setup.py install)我遇到了如下问题,我看大概意思是以管理员身份操作出的错。所以我就又添加了一个windows的普通用户,切换到普通用户再进行安装就好了,然后就编译源码,生成breakpad的库。
最后注意,使用库时还需要配合对应的头文件,下图是我包含的头文件,大家仅作参考,真正使用时要注意目录层级结构。
以上就是我在参考其他博客遇到问题时解决方法的总结,如果读者发现了错误,请及时指正,不胜感激。
边栏推荐
- Douyin share password url API tool
- NTT的Another Me技术助力创造歌舞伎演员中村狮童的数字孪生体,将在 “Cho Kabuki 2022 Powered by NTT”舞台剧中首次亮相
- Get Pinduoduo product information operation details
- ROS 话题通信理论模型
- Daily sql: request for friend application pass rate
- Taobao sku API interface (PHP example)
- Daily sql-employee bonus filtering and answer rate ranking first
- 恒源云-Pycharm远程训练避坑指南
- Douyin API interface
- 《猪猪1984》NFT 作品集将上线 The Sandbox 市场平台
猜你喜欢
MySQL使用GROUP BY 分组查询时,SELECT 查询字段包含非分组字段
Pinduoduo api interface application example
基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现
Douyin API interface
Pinduoduo API interface
亚马逊获得AMAZON商品详情 API 返回值说明
STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比
Taobao API interface reference
radix-4 FFT principle and C language code implementation
Tidb二进制集群搭建
随机推荐
实现通用的、高性能排序和快排优化
软件测试基本流程有哪些?北京专业第三方软件检测机构安利
从苹果、SpaceX等高科技企业的产品发布会看企业产品战略和敏捷开发的关系
maxwell 概念
jar服务导致cpu飙升问题-带解决方法
淘宝sku API 接口(PHP示例)
《猪猪1984》NFT 作品集将上线 The Sandbox 市场平台
daily sql - user retention rate for two days
Trill keyword search goods - API
为什么C#中对MySQL不支持中文查询
golang fork 进程的三种方式
Redis源码:Redis源码怎么查看、Redis源码查看顺序、Redis外部数据结构到Redis内部数据结构查看源码顺序
基于FPGA的FIR滤波器的实现(4)— 串行结构FIR滤波器的FPGA代码实现
公牛10-11德里克·罗斯最强赛季记录
详述 MIMIC护理人员信息表(十五)
Douyin API interface
radix-4 FFT principle and C language code implementation
博途PLC 1200/1500PLC ModbusTcp通信梯形图优化汇总(多服务器多从站轮询)
每日sql-统计各个专业人数(包括专业人数为0的)
【软件测试】(北京)字节跳动科技有限公司终面HR面试题