2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

Swift 5.9 Backtracer 实现并发感知,并改进可靠性和 Linux 支持

  • 2023-12-19
    北京
  • 本文字数:715 字

    阅读完需:约 2 分钟

Swift 5.9 Backtracer 实现并发感知,并改进可靠性和 Linux 支持

除了通过宏和借用式内存管理扩展语言之外,Swift 5.9 还引入了一些有用的程序调试功能,包括进程外崩溃处理程序、即时调试支持和回溯,旨在简化使用结构化并发时的控制流解释。


进程外崩溃处理是一个非常强大的新功能,它通常可以防止程序崩溃,并让你可以检查程序或为其附加调试器。


当启用了这个新特性的程序崩溃时,你会看到一个提示,让你可以更改回溯设置,生成新的回溯,列出加载的图像,显示寄存器和内存内容,并获得进程中所有线程的列表。或者,你可以将调试器附加到崩溃的进程并交互式地检查其状态。如果你不选择任何选项,那么程序将在 30 秒或预先配置好的时间后崩溃。


进程外崩溃处理程序对 Linux 开发人员来说特别重要,因为他们习惯于在控制台中获得程序崩溃的简明错误消息,而不是借助任何其他额外的工具。为此,在 Linux 上,崩溃处理程序是默认开启的,而在 macOS 上则必须手动启用。这个新功能尚未提供 Windows 支持,但是开发者可以访问操作系统内置的崩溃报告来获取导致崩溃的其他信息。


另一项备受欢迎的改进是回溯器现在具备了并发感知能力。也就是说,它能够通过异步帧进行回溯,例如当 async 函数通过 await 语句执行时。在这种情况下,await/async 调用在回溯中和普通调用没什么不一样,并不会显示属于运行时 await/async 机制的过渡帧。不过,这个新功能要求回溯器能够查找程序符号来判断一个帧是否是异步的。


最后需要说明的是,为了提高可靠性,Swift 5.9 中的新回溯器允许你配置回溯器将生成的最大帧数以及你想要显示的堆栈顶部的帧数。此外,在默认情况下,它会跳过系统帧和 Swift thunk,应用程序开发人员很少对这些内容感兴趣。


原文链接:

https://www.infoq.com/news/2023/11/swift-5-9-backtracer-debugger/

2023-12-19 08:004570

评论

发布
暂无评论
发现更多内容

涨知识!Android面试真题解析火爆全网,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

量化机器人管理系统开发|市值管理机器人模式系统开发

W13902449729

市值管理机器人开发 市值管理系统开发

大作业一

走走,停停……

接口测试--获取动态参数进阶

测试人生路

接口测试

如何使用ClickHouse实现时序数据管理和挖掘?

京东科技开发者

数据库 数据采集 数据库管理工具

全球台式机CPU市场份额AMD超越Intel?别再混淆视听,误导消费者了!

E科讯

MySQL蜜罐获取攻击者微信ID

Java架构师迁哥

使用Github Actions部署静态网站

玉龙BB

GitHub Pages Hugo Github Actions

OpenYurt 入门 - 在树莓派上玩转 OpenYurt

阿里巴巴云原生

阿里云 开源 容器 云原生 中间件

通过 Oracle 变量更新公司名称

Flychen

揭秘人民日报创作大脑:百度大脑智能创作平台助力打造“十八般武艺”

百度大脑

中国用户规模最大教育科技独角兽作业帮再获投资机构青睐

简述CAP原理

Andy

有奖话题 | 2021 新年Flag,牛转乾坤!

InfoQ写作社区官方

话题讨论 热门活动

同城快递系统设计文档

业哥

区块链技术如何真实有效的赋能智慧交通?

CECBC

区块链

大作业2

走走,停停……

真牛!成功跳槽百度工资从15K涨到28K,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

波场链智能合约DAPP系统开发技术

薇電13242772558

智能合约 dapp

3轮技术面+总监面+HR面轻松砍下阿里口碑Offer!

Java架构追梦

Java 面试 架构师 口碑Offer

深入讲解拉链表,还怕面试官问?

大数据老哥

大数据 数据模型 数仓项目

全球台式机CPU市场二八分定型,英特尔仍旧占据全球最大份额

E科讯

ml-agents项目实践(一)

行者AI

模型训练

视频混剪怎么准备素材?会声会影视频消音操作步骤详解!

奈奈的杂社

视频剪辑 视频后期 混剪 视频消音

原始时代对分布式架构的探索

而立斋

阿里云技术专家解读:2021 年六大容器技术发展趋势

阿里巴巴云原生

云计算 阿里云 容器 云原生 k8s

实物资产卡片多数量拆分流程整理2021.01.06

Flychen

干货速递,百度BML自动超参搜索技术原理揭秘与实战攻略!

百度大脑

性能测试思考分析

Andy

更新完IOS14,网络工程师又开始背锅了

这些面试题你会吗?为什么有人说Android开发不再吃香?最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

Swift 5.9 Backtracer 实现并发感知,并改进可靠性和 Linux 支持_Android/iOS_Sergio De Simone_InfoQ精选文章