Windows接入指引
本文是介绍Windows SDK使用的详细文档,包含了基本的接入流程和高级的接口使用介绍。本文档适用于2.2.1及以上版本,如果您正在使用低版本,推荐尽快升级。 查看版本的方法见查看dll版本号。
如果想快速接入,验证平台和SDK功能,建议查看项目菜单中的“接入指南”。引导中已经按项目具体的信息(平台,引擎,国内/海外,AppID)生成了针对此项目的初始化代码,可以直接复制使用。如下图所示:

项目创建:公司外部项目支持自助创建项目,但有免费试用时长。公司内部项目,企业微信联系“CrashSight小助手”开通。
1 使用说明
异常捕获上报服务CrashSight SDK Windows版,接入时,游戏客户端需要自己加载异常捕获的dll,并传入用户id及游戏版本等参数。 下表中列出了国内服及海外服的web地址及上报地址。用户可以选择qq登录或者企业微信登录:
| 版本区分 | Web地址 | 上报地址(配置文件中需要) |
|---|---|---|
| 国内服 | https://crashsight.qq.com | pc.crashsight.qq.com |
| 海外服 | https://crashsight.wetest.net | pc.crashsight.wetest.net |
PS:海外版本及国内版本完全相同,只需要修改不同上报地址就可以上报到指定区域(注意相应的appid及key也需要对应做修改,否则服务器会拒绝)
2 CrashSight组件下载
新版CrashSight主要提供64位版本,32位版本和64位版本相比除文件名称不同外,功能及用法都是一致的。
在平台成功创建项目后,在侧边栏的“接入指南”中,可以下载到对应的SDK。如下图所示:

3 CrashSight接入
由于本SDK采用客户端直接加载dll的方式,具体接入方式如下:
-
登录web端注册项目,项目类型选择Windows,注册成功后会生成appid(如:0620edc732)
-
将提供的文件按说明放到指定位置,客户端在启动后加载同级目录下的CrashSight64.dll
-
C++中通过HINSTANCE dllDemo = LoadLibraryA("CrashSight64.dll");加载dll,其他语言使用语言对应的dll加载方式即可.
-
在初始化之前设置应用版本
typedef void(*CS_SetAppVersion)(const char *app_version);
- 配置上报URL(参考代码)调用如下函数,将上报URL传递给CrashSight。 国内环境URL:pc.crashsight.qq.com 海外环境URL:pc.crashsight.wetest.net
typedef void(*CS_ConfigCrashServerUrl)(const char* crash_server_url);
- 初始化CrashSight。调用如下函数,设置CrashSight appid并初始化。
typedef void(*CS_InitWithAppId)(const char* app_id);
- 当客户端配置完成后,正常启动游戏,发现游戏进程中存在CrashSight64.dll,说明CrashSight加载启动成功。
4 CrashSight上报机制及数据字段
游戏客户端加载dll并调用导出函数后:
- 该dll会读取配置文件中的域名上报联网数据。
- 用于当dll捕获到崩溃异常时将dll生成的minidmp上报到服务端。
目前CrashSight上报的数据字段如下:
| 字段 | 说明 |
|---|---|
| userId | 用户id |
| appId | 项目的注册id |
| Mac | Mac地址 |
| osName | 操作系统名称 |
| displayCard | 显卡名称 |
| Cpu | Cpu类型 |
| phyMemAll | 机器内存 |
| osBit | 机器位数 |
| resolution | 分辨率 |
| pidName | 进程名 |
| bootTime | 启动时间 |
| Ip | Ip地址 |