写点什么

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

评论

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

EMC设计中电缆屏蔽使用方法

不脱发的程序猿

二月春节不断更 电路设计 EMC 电子产品 电缆屏蔽

Java实体映射利器---MapStruct

是小毛吖

Java MapStruct

面试官:Java性能调优你会多少?一个问题就把我问的哑口无言,哭了!

996小迁

架构 面试 Java性能调优

新CEO帕特·基辛格回归 英特尔或将上演创新的“速度与激情”?

E科讯

如何 0 改造,让单体/微服务应用成为Serverless Application

阿里巴巴云原生

Docker Serverless 容器 微服务 云原生

APM 行业认知系列 - 三

东风微鸣

APM Trace 可观察性

Supercell还香嘛?

李小腾

腾讯 中台 阿里 Supercell

APM 行业认知系列 - 五

东风微鸣

APM Trace 可观察性

全网最新、最全面蚂蚁金服面经分享:简历模板/面试题库/Java核心技术笔记

比伯

Java 编程 程序员 面试 技术宅

APM 行业认知系列 - 二

东风微鸣

APM Trace 可观察性

MySQL事务浅析|由浅入深

MySQL 编程 架构

2020回顾,2021学习目标

叫练

学习 2021年展望 2020年度总结

神级!字节2-4大牛出品:分布式技术笔记,让你在分布式的路上如履平地!

Java架构之路

Java 程序员 架构 面试 编程语言

某某大龄程序员被字节面试官怒喷“废物”,他得知真相之后都懵了

Java架构之路

Java 程序员 架构 面试 编程语言

产品训练营--第四期作业

曦语

产品训练营

Angular性能优化实践——巧用第三方组件和懒加载技术

葡萄城技术团队

angular SpreadJS

APM 行业认知系列 - 六

东风微鸣

APM Trace 可观察性

与前端训练营的日子 -- Week16

SamGo

学习

架构设计篇之微服务实战笔记(一)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

2021版最新!字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构之路

Java 程序员 架构 面试 编程语言

电子产品中EMC隔离设计的方法

不脱发的程序猿

二月春节不断更 电路设计 EMC 电子产品

APM(应用性能监控) 行业认知系列 - 一

东风微鸣

APM Trace 可观察性

SpringBoot之自定义启动异常堆栈信息打印

false℃

Elasticsearch踩坑记之深度分页

topsion

大数据 elasticsearch 深度分页

APM 行业认知系列 - 四

东风微鸣

APM Trace 可观察性

技术资讯 | BML CodeLab发布重磅更新!!

百度开发者中心

AI 工具软件 #百度#

我遇到的真实医疗场景信息化及患者路径

卢嘉敏

需求 分类 医疗 调研 用户

LoadRunner测试中遇见的不可思议的问题及其解决方法

陈磊@Criss

你的面试专属!JVM G1GC的算法+实现,90张图+33段代码

Java架构追梦

Java 架构 JVM 调优 G1GC

滚雪球学 Python 番外系列,自动化测试是个啥?

梦想橡皮擦

Python 28天写作 2月春节不断更

环信助力中国游戏社交类APP出“东南亚”记!

环信

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