写点什么

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:004699

评论

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

蚂蚁数科发布可信数据空间软硬一体解决方案,联合清华大学落地双碳场景

Lily

YashanDB|如何配置 JDBC 驱动,让 getDatabaseProductName() 返回 Oracle?

数据库砖家

数据库

鸿蒙游戏生态加速:华为小游戏焕新升级,抢滩百亿级市场新机遇

最新动态

程序员如何用AI工具实现“快速验证原型”

飞算JavaAI开发助手

TiDB 可观测性最佳实践

观测云

TiDB

YashanDB|单机升级常见问题与应急处理指南

数据库砖家

数据库

YashanDB|执行 SQL 报 YAS-04110?可能是字段用了保留字!

数据库砖家

数据库

YashanDB|YMP 迁移 Oracle 遇到授权不兼容?一招轻松解决!

数据库砖家

数据库

飞算 JavaAI 助力开发者快速原型验证

飞算JavaAI开发助手

隐私计算技术创新与应用实践|隐语开源社区 Meetup 成都站

隐语SecretFlow

隐私计算 数据隐私计算

K8s 灰度发布实战:通过 Ingress 注解轻松实现流量分割与渐进式发布

电子尖叫食人鱼

Kubernetes 容器

IoTDB 广州行 | 4.26 端边云协同的新一代 AI 数据库技术沙龙回顾

Apache IoTDB

对比测评:为什么AI编程工具需要 Rules 能力?

阿里巴巴云原生

阿里云 云原生 通义灵码

中国制造的AI穿凿,一场直抵地心的技术远征

脑极体

AI

不用Mockito写单元测试?你可能在浪费一半时间

Java随想录

Java 单元测试 Mockito

Qwen3初测,小尺寸MOE利好小玩家

冯骐

人工智能 大模型 大语言模型 AI 基础设施 Qwen3

对比测评:为什么AI编程工具需要 Rules 能力?

阿里云云效

阿里云 云原生 通义灵码

YashanDB|多表更新遇到 YAS-04344?教你如何正确操作!

数据库砖家

数据库

YashanDB|数据库时间与服务器时间不一致?原因与修复方法详解!

数据库砖家

数据库

YashanDB|客户端字符集与数据库字符集不一致?小心隐性乱码和执行失败!

数据库砖家

数据库

YashanDB|想查表空间使用率?一条 SQL 帮你搞定!

数据库砖家

数据库

PIRF:432 - Performance - Pressure, Precision, Payoff

Echo!!!

English

企业SD-WAN组网必看:需要准备哪些设备?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SD-WAN厂家

L3商业化元年,智能驾驶"急刹车"

趣解商业

智能汽车 上海车展 深蓝汽车

主打 Web3 AI Agent 基础设施网络的 kairos ,缘何被顶级机构所青睐?

股市老人

YashanDB|通过 DBLink 访问 Oracle 性能慢?问题分析与优化指南!

数据库砖家

数据库

YashanDB|迁移过程中,字符串里的分号导致SQL报错?原因与解决办法来了!

数据库砖家

数据库

被百万人追捧的【旅行救星】为何主动召回?

极客天地

JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择

数据追梦人

StarRocks 查询优化器深度解析

StarRocks

企业有远程办公网络需求?试试Ogcloud的SD-WAN方案!

Ogcloud

远程办公 SD-WAN SD-WAN组网 异地组网 远程组网

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