Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
63fa1fa5
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3317
Star
107
Fork
842
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
102
列表
看板
标记
里程碑
合并请求
80
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
102
Issue
102
列表
看板
标记
里程碑
合并请求
80
合并请求
80
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
63fa1fa5
编写于
1月 12, 2022
作者:
DCloud-yyl
提交者:
Gitee
1月 12, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add docs/app-ios-dsym.md.
上级
f8907605
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
0 deletion
+45
-0
docs/app-ios-dsym.md
docs/app-ios-dsym.md
+45
-0
未找到文件。
docs/app-ios-dsym.md
0 → 100644
浏览文件 @
63fa1fa5
#### 什么是符号表
符号表是内存地址与源码文件名、函数名称、行号的映射表。符号表通常包括以下信息:
```
<内存起始地址><内存结束地址><源码函数名称>[<源码文件名称:源码行号>]
```
应用正式发布后二进制代码中不再包含源码信息,应用发生异常(Crash)时可以捕获异常发生时的堆栈信息,但这些信息使用内存地址表示,这时候可以通过符号表进行解析还原成源码堆栈信息,从而方便开发者定位并解决异常问题。
#### 什么是dsym文件
iOS平台中,dSYM文件是指具有调试信息的目标文件,存储着源码文件名、函数名、行号等信息,与可执行文件中的函数内存地址一一对应。
XCode中发布生成xcarchive文件默认包含dysm文件,通常为:xxxx.app.dSYM,其中xxxx为应用程序的包名,如下所示:

dSYM文件内容为:

#### dsym文件的用途
当应用发布上线后,无法在XCode中直观看到应用崩溃的错误,这时需要分析 crash report 文件,iOS设备中会有日志文件保存每个应用崩溃时的函数内存地址,通过 XCode 的 Organizer 可以将 iOS 设备中的 DeviceLog 导出成 crash 文件,这时就可以通过函数内存地址在 dsym 文件中查找到对应的函数名称和源码文件名。
多数统计平台都会捕获应用崩溃错误时的函数内存地址并提交到统计服务器,为了更好的分析崩溃日志,也需要 dysm 文件来查找到崩溃的函数名称和源码文件名称。
因此统计平台也需要开发者上传 dsym 文件。
##### HBuilderX中云端打包配置生成符号表文件
> HBuilderX3.2.23+版本新增支持云端打包支持生成iOS符号表 dsym 文件
在HBuilderX中云端打包打开项目的manifest.json文件,在“App常用其它设置”界面中的勾选“生成iOS符号表(dsym)文件”:

保存后提交云端。
云端打包成功后会在HBuilderX控制台输出 dsym 文件下载地址:

#### 注意事项
-
下载文件格式为zip,解压后可获得 dsym 文件
-
生成符号表 dsym 文件需要消耗云端打包CDN资源,使用此功能需单独计费
-
生成的 dsym 文件下载地址有效期为两天,过期后自动删除,无法恢复,生成后请尽快下载到本地备份
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录