AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

评论

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

Alpha公司主体库:一键穿透企业集团复杂结构,开启尽职调查新纪元

科技汇

2025年推荐6个好用的 Postman 替代工具

不在线第一只蜗牛

开源 Postman

Word一键生成ppt的软件有哪些?3个AI工具让你效率翻倍!

职场工具箱

人工智能 格式转换 办公软件 AIGC AI生成PPT

Meta 斥资 35 亿美元入股全球最大眼镜商;Proactor AI:实时监听语音对话,主动识别用户需求并自主行动丨日报

声网

你的得力干将—Parallels Desktop 20 ,在任何Mac上运行Windows应用

阿拉灯神丁

MacBook Parallels Desktop 虚拟机 Mac电脑运行win 如何在Mac上运行win游戏 PD虚拟机激活秘钥

如何用YashanDB进行数据审计与合规性管理

数据库砖家

解析RFID盘点通道机在库存管理中的重要性

斯科信息

HOWO新能源全能王-E,“算”出更好的货运答案

科技热闻

QAT 查表算子调优 02 | 查表算子精度调优

地平线开发者

自动驾驶 算法工具链 地平线征程6

ODPS 15周年开发者活动|征文+动手实践双赛道开启,参与活动赢定制好礼!

阿里云大数据AI技术

人工智能 云计算 大数据 阿里云 ODPS

Java集合--从本质出发理解HashMap

量贩潮汐·WholesaleTide

Java 前端

Moho Pro 14 for Mac —— 专业级2D动画创作神器,让创意跃然屏上

柠檬与橘子

如何在YashanDB数据库中保持数据一致性与完整性

数据库砖家

澳鹏代码类数据集:下一代AI编程的"高能燃料"

澳鹏Appen

代码 数据集 代码库 代码数据集

如何识别SQL Server中需要添加索引的查询

电子尖叫食人鱼

sql

如何有效管理YashanDB的访问控制

数据库砖家

从AI制药到打破医疗资源壁垒,芯片如何让“医疗普惠”好用又不贵?

科技热闻

商品中心—商品卖家系统的技术文档

不在线第一只蜗牛

架构

如何应对YashanDB数据库中的数据一致性挑战

数据库砖家

如何在YashanDB数据库中管理用户权限

数据库砖家

VKProxy新增一些功能

八苦-瞿昙

Proxy

【7 月 27 日北京】Community Over Code Asia 2025,IoTDB 出品专题等你来听

Apache IoTDB

如何在YashanDB数据库中高效处理海量数据

数据库砖家

Hive MetaStore的实现和优化

数新网络官方账号

JNPF——低代码领域全能助手

秃头小帅oi

如何在YashanDB数据库中定义和管理权限

数据库砖家

微服务的拆分规范和原则

互联网工科生

解锁新生产力:AIGC如何赋能与重塑低代码开发流程

量贩潮汐·WholesaleTide

达梦数据库监控观测最佳实践

观测云

数据库

KaiwuDB X 济南大数据局:构建城市级重点车辆智慧监管中枢

KaiwuDB

使用 ETL 工具对神舟通用数据库进行数据抽取与转换的实操技巧

RestCloud

数据库 数据处理 数据迁移 ETL 神舟通用

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