【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

评论

发布
暂无评论

Nautilus Chain 更换全新测试网,主网即将在不久上线

EOSdreamer111

大模型基础:理论与技术演进

永佳

CentOS7系统搭建SFTP教程。

百度搜索:蓝易云

Linux 运维 SSH 云服务器 sftp

“开放合作 共享未来”华秋联手伙伴共创硬件生态,助力物联网硬件加速创新

华秋电子

给我五分钟!让你掌握React的Redux中间件原理

汽车之家客户端前端团队

vue项目nginx服务器部署

百度搜索:蓝易云

vue.js Linux 运维 Web 云服务器

Cnetos7系统安装git仓库教程

百度搜索:蓝易云

git Linux centos7 运维 云服务器

Docker学习路线5:在 Docker 中实现数据持久化

小万哥

Java c++ Go Docker 后端

H5页面秒开优化与实践

汽车之家客户端前端团队

Nautilus Chain 更换全新测试网,主网即将在不久上线

鳄鱼视界

不容错过!10个Python自动化办公库免费送!(上)

程序员晚枫

Python 自动化办公

告别内卷,瓴羊飞渡,中国ToB生态迎来 iPhone 时刻

B Impact

小巧玲珑的AVIF,你的网页图片换新装!

汽车之家客户端前端团队

2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?

福大大架构师每日一题

福大大架构师每日一题

Centos7系列安装FineBI教程。

百度搜索:蓝易云

云计算 Linux centos 运维 FineBI

Linux系统安装redis教程。

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

快速离线安装MySql数据库

zhengzai7

MySQL

Linux系统iptables与Firewalld防火墙区别?

百度搜索:蓝易云

云计算 Linux 运维 Firewalld iptables

从十万行代码定位undefined is not an object (evaluating 't.length')

汽车之家客户端前端团队

Amazon 上的数字孪生:使用 L3 预测性数字孪生来预测“行为”

亚马逊云科技 (Amazon Web Services)

Amazon

以 AI 变革组织运营与管理,2023 Kyligence 用户大会盛大举行

Kyligence

数据分析 数智化

给大模型穹顶,树一根存力支柱

脑极体

存储

Docker学习路线6:使用第三方镜像

小万哥

Docker 容器 运维 后端 开发

突破:GGX(Golden Gate)发布悉尼测试网,跨链基础设施迈出重要一步

股市老人

学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学

汀丶人工智能

人工智能 自然语言处理 深度学习 neo4j 知识图谱

深入了解C++优先队列

智趣匠

Nautilus Chain 更换全新测试网,主网即将在不久上线

股市老人

代码随想录Day16 - 二叉树(三)

jjn0703

Nautilus Chain 更换全新测试网,主网即将在不久上线

威廉META

牛刀专业低代码开发实战—奖酬金预分配

牛刀专业低代码

低代码 牛刀低代码 低代码paas平台 java低代码 私有化低代码

24款绘画软件app推荐免费!手绘爱好者必备。

彭宏豪95

效率工具 软件推荐 科技 画图工具 绘图软件

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