写点什么

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

评论

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

EagleFiler for Mac(Mac数字信息管理器)v1.9.13注册版

iMac小白

Folder Icons for mac(文件夹个性化图标修改软件)v1.6激活版

iMac小白

Simplemind pro for Mac(mac上的思维导图软件)v2.3.3中文激活版

iMac小白

探索AI的边界:如何精准地测试人工智能

测吧(北京)科技有限公司

测试

ToothFairy for Mac(一键蓝牙设备连接切换软件)v2.8.4中文版

iMac小白

益和热力选择 TDengine,实现智慧供热系统升级

TDengine

tdengine 时序数据库

YT Saver for Mac(视频下载和转换器)v7.4.1激活版

iMac小白

LLM 大模型框架 LangChain 可观测性最佳实践

心有千千结

观测云 LLM langchain

春天已至,见证80/90/00后女性开发者的云上生长力量

华为云开发者联盟

人工智能 华为云 科技 华为云开发者联盟 先锋开发者云上说

软件测试团队管理技巧 | 提升团队效能:如何与下属进行有效沟通

测试人

软件测试

深入浅出:JavaScript 中 every() 的运作原理

Apifox

JavaScript 程序员 前端 数组 前端开发

大咖公开课 | 探索AI的边界:如何精准地测试人工智能

霍格沃兹测试开发学社

Shell 检查程序进程是否存在,自动重启

最爱小胖子

国家科技传播中心讲坛!播出预告:吴甜——当机器学会思考

飞桨PaddlePaddle

人工智能 深度学习 百度 BAIDU 百度飞桨

探索AI的边界:如何精准地测试人工智能

测试人

软件测试

✅日活3kw的实际库存业务场景中的超卖到底怎么解决的

派大星

电商超卖 互联网+ 秒杀系统架构

印度股票交易系统搭建GangGuHK

GangguHK

[自研开源] MyData 数据集成任务的流程介绍 v0.7.1

LIEN

开源 数据集成 业务融合 API对接 mydata

010 Editor for Mac(文本和十六进制编辑器)v14.0.1激活版

iMac小白

如何将应用一键部署至多个环境?丨Walrus教程

SEAL安全

MySQL 运维 应用部署 Walrus

管理技巧 | 提升团队效能:如何与下属进行有效沟通

测吧(北京)科技有限公司

测试

云服务和本地部署大对比,应该选择哪种方式?

Finovy Cloud

云计算 云服务器 云部署搭建

提升团队效能:如何与下属进行有效沟通

霍格沃兹测试开发学社

一键Run带你体验扩散模型的魅力

华为云开发者联盟

人工智能 华为云 华为云ModelArts 华为云开发者联盟

深度解析:小红书笔记详情API的背后逻辑

技术冰糖葫芦

API 接口

Sibelius西贝柳斯2023 mac永久使用 兼容M1/M2

Rose

Avid Sibelius 2023 Mac 西贝柳斯 Avid Sibelius

Calendar 366 II for Mac(日历管理软件)v2.15.3中文激活版

iMac小白

graphpad prism for Mac(专业医学绘图工具)v10.2.1激活版

iMac小白

AutoCrypt for Mac(文档加密与解密软件)v2.5.2激活版

iMac小白

iTubeGo YouTube Downloader for Mac(YouTube 下载器)v7.4.1激活版

iMac小白

一文读懂私网解析 PrivateZone

火山引擎边缘云

DNS DNS服务器 DNS劫持 #DNS

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