当前位置:网站首页>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的库。
最后注意,使用库时还需要配合对应的头文件,下图是我包含的头文件,大家仅作参考,真正使用时要注意目录层级结构。
以上就是我在参考其他博客遇到问题时解决方法的总结,如果读者发现了错误,请及时指正,不胜感激。
边栏推荐
猜你喜欢
一种用于EEG超扫描研究的分析流程
获取拼多多商品信息操作详情
PIXHAWK飞控使用RTK
Daily sql: request for friend application pass rate
【LeetCode每日一题】——844.比较含退格的字符串
Pinduoduo API interface (attach my available API)
Douyin share password url API tool
淘宝sku API 接口(PHP示例)
daily sql - query for managers and elections with at least 5 subordinates
基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现
随机推荐
How Unity programmers can improve their abilities
从苹果、SpaceX等高科技企业的产品发布会看企业产品战略和敏捷开发的关系
prometheus学习5altermanager
计算YUV文件的PSNR与SSIM
MySQL 版本升级心得
Unity3D 学习路线?
Daily SQL - find each of the students school gpa minimum (window)
每日sql - 判断+聚合
ROS 服务通信理论模型
Taobao API common interface and acquisition method
Find the shops that have sold more than 1,000 yuan per day for more than 30 consecutive days in the past six months
微信小程序功能上新(2022.06.01~2022.08.04)
深度监督(中继监督)
Taobao product details API interface
数仓开发知识总结
每日sql-员工奖金过滤和回答率排序第一
When MySQL uses GROUP BY to group the query, the SELECT query field contains non-grouping fields
为什么C#中对MySQL不支持中文查询
实现通用的、高性能排序和快排优化
【软件测试】(北京)字节跳动科技有限公司二面笔试题