QCon北京开幕在即|与全球 140+ 顶尖工程师共同解构 AI 时代的技术浪潮 了解详情
写点什么

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

评论

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

2023字节、腾讯、阿里等6家大厂Java开发面试真题+高频面试题总结

小小怪下士

Java java程序员 java面试 Java面试题

AI + Kubernetes 赋能DevSecOps 的思考

HummerCloud

人工智能 Kubernetes DevOps

一文详解扩散模型:DDPM

京东科技开发者

人工智能 AIGC 企业号 3 月 PK 榜 DDPM

厉害了!阿里内部都用的Spring+MyBatis源码手册,实战理论两不误

Java你猿哥

spring 面试 Spring Boot mybatis 面经

小程序营销模版——企业和开发者的应用形态

没有用户名丶

小程序容器

WorkPlus IM即时通讯平台,管理者不会拒绝的高效通讯办公工具

BeeWorks

GitHub上架即下架!《分布式系统人人都是架构师》全彩笔记开源

做梦都在改BUG

Java 分布式 系统架构 架构师

太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记

Java你猿哥

Java 数据结构 算法 数据结构算法 左程云

LED透明屏私人定制势不可挡

Dylan

电子 LED显示屏 屏幕

从 1000+ 参赛项目突围,涛思数据荣获 ITEC 2022 全球创业赛成长组二等奖

TDengine

tdengine 物联网 时序数据库 数字经济 大数据 开源

百度大健康行业如何打造医美IP爆点?这波“悦己”营销有颜又有料!

极客天地

接通率维持66%以上,为什么火山引擎VeDI能让企业智能外呼不再难?

字节跳动数据平台

营销 用户增长 业务增长 客户数据 企业号 3 月 PK 榜

数据出境是什么意思?我国数据出境合规要求是什么?

行云管家

数据 数据安全 堡垒机 数据出境

微服务架构下你不得不知的3种部署策略

做梦都在改BUG

Java 架构 微服务

用注解的方式优雅实现Ression分布式锁

做梦都在改BUG

Java 分布式锁 Ression

凭借左程云(左神)的这份 “程序员代码面试指南”我入职了字节

Java你猿哥

Java 算法 数组 二叉树 面经

MobTech MobPush|智能标签推送

MobTech袤博科技

2023 微信公开课黄铁鸣企业微信最新动态:1200w、5亿客户、GMV上千亿

B Impact

置顶两个月!《程序员如何向架构师转型》神作在Github持续霸榜

做梦都在改BUG

Java 程序员 系统设计 架构师

低代码平台搭建CRM 加速重构业务模式

力软低代码开发平台

手慢无!阿里云神作《Spring Boot进阶原理实战》真的太全了!

做梦都在改BUG

Java 微服务 Spring Boot 框架

KubeVela 1.7 版本解读:接管你的已有工作负载

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

Bytebase vs Flyway

Bytebase

数据库 版本控制 变更

机器学习算法(九): 基于线性判别模型的LDA手写数字分类识别

汀丶人工智能

人工智能 数据挖掘 机器学习 LDA算法

运动健康路线导入,助力用户轻松导航

HarmonyOS SDK

HMS Core

最佳实践 | 用腾讯云智能语音打造智能对话机器人

牵着蜗牛去散步

腾讯云 腾讯 语音识别 语音合成 智能对话机器人

什么是“语法糖”?Java中有哪些常见糖?

Java你猿哥

Java ssm Java工程师 语法糖

马鞍山等级测评机构有哪些?有几家?在哪里?

行云管家

等保测评 等级测评 马鞍山

阿里巴巴为什么不建议直接使用@Async注解?

Java你猿哥

Java ssm java8 Async Java工程师

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