写点什么

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

评论

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

当AI遇上低代码:程序员正在咖啡馆里泡手冲?

伤感汤姆布利柏

BeeWorks内网聊天软件:提升团队效率的智能沟通平台

BeeWorks

即时通讯 IM 企业即时通讯平台 私有化部署 局域网视频软件

Web3项目的分类及特点

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

一文读懂2024!2025往“这”瞧 |《2024 IT行业项目管理调查报告》发布!

禅道项目管理

项目管理 AI IT 调查报告 科技

如何开发RWA DApp?一文搞定——从资产确权到跨链流通的完整技术指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

华为吴辉:跨越数智鸿沟,共创AI新时代

新消费日报

3FS系列(二):3FS元数据性能深度拆解:那些在技术文档中找不到的实现细节

九章云极DataCanvas

人工智能 DeepSeek 3FS

Hologres诊断与优化快速入门

阿里云大数据AI技术

数据库 sql 大数据 阿里云 hologres

模型的泛化性能度量:方法、比较与实现

秃头小帅oi

DApp开发中的三大激励引擎:静态奖、动态奖与推荐奖的协同设计 ——从经济模型到行为心理学的深度解析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

RabbitMQ集群部署(一)——单机模式部署

天翼云开发者社区

RabbitMQ

智能制造:自动化焊装线的数字化设计

积木链小链

数字化 制造业 智能制造

币安再度封禁违规做市商,Crypto 行业还有多少「蛀虫」

TechubNews

比特币

5000万考生救星!百度网盘和文库首发一站式视频AI笔记

极客天地

测试框架设计的艺术

FunTester

DeepSeek 3FS 架构分析和思考(下篇)

火山引擎开发者社区

Web3项目的安全性

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

从历史数据到实时决策:AI如何提升大数据实时分析能力?

天津汇柏科技有限公司

大数据 AI 人工智能

慈善组织购买堡垒机需要考虑哪些因素?买哪家好?

行云管家

信息安全 堡垒机 慈善组织

国产服务器操作系统CTyunOS,技能值拉满!

天翼云开发者社区

云计算 服务器操作系统

AI低代码MES:制造业从“制造”到“智造”

万界星空科技

AI 低代码开发 低代码平台 mes 低代码云MES

AI应用如何从 Chat 进化为 Agent?开源项目源码深度揭秘|得物技术

得物技术

agent 大模型应用

DeepSeek Smallpond 在火山引擎 AI 数据湖的探索实践

火山引擎开发者社区

HarmonyOS NEXT 中级开发环境搭建与实用工具类 AI 问答 APP 开发

yimapingchuan

HarmonyOS NEXT

BeeWorks:为企业打造专网部署即时通讯解决方案

BeeWorks

即时通讯 IM 私有化部署 局域网视频软件

行业分享丨如何实现快速仿真和创新设计,颠覆式加速产品研发?

Altair RapidMiner

AI 数字化转型 HPC 仿真 仿真驱动设计

周卫林|从模型平权到“知本”复利,NoETL 打造 AI 时代的数据底座

Aloudata

数据仓库 数据分析 数据管理 大模型 指标平台

2025浙江安博会

AIOTE智博会

安博会 浙江安博会 杭州安博会

RabbitMQ集群部署(二)——普通集群模式部署

天翼云开发者社区

RabbitMQ

必看!SpringAI轻松构建MCP Client-Server架构

王磊

火山引擎智能数据洞察 ChatBI 适配 DeepSeek-R1 及 DeepSeek-V3

火山引擎开发者社区

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