sentry-native 在 windows 平台上搭建
官方文档:https://github.com/getsentry/sentry-native
虽说官方文档有搭建步骤,奈何我用 git bash 试了 n 遍,最终都会报一大堆错误,白白浪费了我快一个下午的时间
最终找到了一位大哥的博客,里面也介绍了他遇到的坑,跟随他的方法,编译成功了
遂把一些更为详尽的步骤记录下来,供有 sentry 搭建需求的友友参考
sentry-native 版本:0.4.15
- 打开 CMake Gui 程序,千万不用要 command 窗口编译,一堆错误
- 输入源文件路径和输出的编译路径,注意:如果你的项目是 x86 的话,在填输出的编译路径时会提醒你是否选择 win32
- 先点击页面左下角的 Configure 按钮,会自动生成相应的选项
改下 SENTRY_BACKEND 的 Value 为 breakpad,并且不要勾选 SENTRY_BUILD_SYSTEM
最后可以再点击 Configure,没啥问题后点击 Generate 生成 breakpad 的工程文件,如下
- 确定生成了 breakpad 的工程文件,在 CMake Gui 页面上选择打开 Project 的工具,我这里使用的 vs2019
- 使用 Release 版本编译后,会发现两个错误,将它们注释即可
- 再重新编译就 OK 了,生成的 lib 文件和 dll 文件在项目文件下
- 接下来就可以在你自己的项目中配置 sentry 的头文件和库文件,注意在配置完相关路径后,还是需要添加静态链接才可以
#pragma comment(lib, "sentry.lib")
注意:如果是使用 breakpad 编译的 dll,在程序崩溃时是无法抓到错误日志的,需要使用 crashpad 创建 dll
编译过程:我们需要先在 crashpad_build 文件中打开工程,编译出 sentry_native 项目需要的静态文件库
最后再打开 sentry_native.sln
在 crashpad.sln 的编译过程中会出现很多 warning C4819 错误,我这边的解决方法是把错误的源文件的编码格式使用 notepad++ 一一改成 UTF8-BOM 即可解决
补充:
对于之前介绍的错误,特别是 sentry 附带的 example 在编译后会因字符报错,这边我们可以取消勾选 SENTRY_BUILD_EXAMPLES 和 SENTRY_BUILD_TESTS
对于 warning C4819 错误,因为涉及到的文件太多了,我们可以在编译器中将警告视为错误改为否
如果需要编译静态库,建议按照下面这个设定来,这样库跑起来不会依赖 VC 库了
sentry-native 在 windows 平台上搭建的更多相关文章
- Windows平台上使用Github搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...
- JMeter--二、在Windows环境上搭建wordpress
为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? Wo ...
- 在Windows平台上安装Node.js及NPM模块管理
1. 下载Node.js官方Windows版程序:http://nodejs.org/#download 从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安 ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II
接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
接下来我们去下载 WorePress 用最新的 3.7.1 下载地址是:http://cn.wordpress.org/wordpress-3.7.1-zh_CN.zip 我们先建立一个文件夹 /va ...
- Windbg是windows平台上强大的调试器
基础调试命令 - .dump/.dumpcap/.writemem/!runaway Windbg是windows平台上强大的调试器,它相对于其他常见的IDE集成的调试器有几个重要的优势, Windb ...
- 分享一些 Windows 平台上的神器
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率. 编辑器类软件 IntelliJ IDEA IntelliJ IDEA 内部集成 Java 开发环境, ...
- MySQL 在Windows平台上的安装及实例多开
MySQL在Windows平台上的安装及实例多开 by:授客 QQ:1033553122 测试环境 Win7 64 mysql-5.7.20-winx64.zip 下载地址: https://cd ...
- 如何在微软Windows平台上打造出你的Linux开发环境(转载)
如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读 原文链接 [收藏] « » 英文原文: ...
- 在windows平台上构建自己的PHP(php5.3+)
这是一篇翻译的文章,原文参见:https://wiki.php.net/internals/windows/stepbystepbuild 顺便提一句,wiki.php.net有很多精彩的内容,想深入 ...
随机推荐
- [转帖]How to Resolve ORA-3136 Inbound Connection Timed Out
https://logic.edchen.org/how-to-resolve-ora-3136-inbound-connection-timed-out/#:~:text=ORA-03136%3A% ...
- [转帖]MySQL: Convert decimal to binary
Last Update:2018-12-05 Source: Internet Author: User Tags decimal to binary mysql code Developer on ...
- [转帖]88. sys_kwr
88. sys_kwr ¶ 88.1. 插件sys_kwr简介 ¶ 插件sys_kwr是KingbaseES 的一个扩展插件.主要功能是通过周期性自动记录性能统计相关的快照,分析出KingbaseES ...
- [转帖]enq: TX - row lock contention故障处理一则
https://www.cnblogs.com/zhchoutai/p/7088826.html 一个非常easy的问题,之所以让我对这个问题进行总结.一是由于没我想象的简单,在处理的过程中遇到了 ...
- [转帖]关于winrm远程ps登录执行出现中文乱码和?乱码问题及其解决办法
https://segmentfault.com/a/1190000040566946?utm_source=sf-similar-article python的winrm库提供了命令行远程连接的功能 ...
- [转帖] GC耗时高,原因竟是服务流量小?
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故 ...
- Semantic Kernel 通过 LocalAI 集成本地模型
本文是基于 LLama 2是由Meta 开源的大语言模型,通过LocalAI 来集成LLama2 来演示Semantic kernel(简称SK) 和 本地大模型的集成示例. SK 可以支持各种大模型 ...
- 【JS 逆向百例】网洛者反爬练习平台第七题:JSVMPZL 初体验
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- 宏观上看Spring创建对象的过程
宏观上看Spring创建对象的过程 对于对象而言,可以分为简单对象和复杂对象: 简单对象 简单对象指可以直接new的对象: Spring在创建这些对象时,是基于反射来完成的. 复杂对象 复杂对象指不能 ...
- python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}
相关文章和数据源: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] Python自动化办公--Pandas玩转Excel ...