写点什么

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

评论

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

华为云CodeArts Build快速上手编译构建-进阶玩家体验

云计算 编译 开发 华为云

xenomai内核解析--实时linux概述

沐多

RTOS 实时linux xenomai

前端如何处理「并发」问题?

不叫猫先生

并发 axios 6 月 优质更文活动

CSS小技巧之悬停3D发光效果

南城FE

CSS 前端 动画 3D 交互

手牵手带你实现mini-vue | 京东云技术团队

京东科技开发者

Vue 数据绑定 vue2 企业号 6 月 PK 榜 双向数据绑定

随机2D形状周围层流预测!基于飞桨实现图形神经网络

飞桨PaddlePaddle

人工智能 百度 飞桨

海外交友源码平台搭建:基础功能的实现(一)

山东布谷科技

软件开发、 源码搭建 海外市场 语音交友源码

Java 内存与缓存管理:应对大数据场景的优雅高效策略

xfgg

Java 6 月 优质更文活动

Vue3中常用的Composition(组合)API-初识setup

不觉心动

6 月 优质更文活动

万字详解常用设计模式

越长大越悲伤

设计模式

使用华为云AstroZero,不用一行代码,制作端午节加班申请模板

云计算 零代码 华为云

微服务中「组件」集成

Java 架构

AI关于AI民主化的高见

FN0

AIGC

如何评估大型语言模型(LLM)?

Baihai IDP

人工智能 深度学习 大模型 白海科技 大模型评估

如何在 Linux 上列出磁盘?

wljslmz

6 月 优质更文活动

基于STM32的铁路自动围栏系统设计

DS小龙哥

6 月 优质更文活动

漫谈 SAP 产品里页面上的 Checkbox 设计与实现

汪子熙

SAP 前端设计 思爱普 6 月 优质更文活动

在 Go 中使用 sqlx 替代 database/sql 操作数据库

江湖十年

数据库 后端 sql Go 语言

培育开源人才,助力开源生态发展|2023开放原子全球开源峰会校源行分论坛圆满落幕

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 校源行

Vue3中常用的Composition(组合)API-watch(监视)函数

不觉心动

6 月 优质更文活动

一文读懂ChatGPT的工作原理:大语言模型是个啥?它到底咋工作的?

禅道项目管理

#人工智能 ChatGPT AI 2022

300行代码模拟cdn访问过程

蓝胖子的编程梦

CDN DNS CDN加速 CDN技术 #DNS

Vue3中常用的Composition(组合)API-ref(引用)函数

不觉心动

6 月 优质更文活动

Vue3中常用的Composition(组合)API-ref(引用)函数

不觉心动

6 月 优质更文活动

做好演讲表达的道法术器(《如何激活你的表达思维》-- 培训收获)(68/100)

hackstoic

领导力 演讲 沟通

基础设施SIG月度动态:ABS新增ISO、VHD镜像构建,自动热补丁制作流程正式上线

OpenAnolis小助手

镜像 基础设施 龙蜥社区 sig abs

Kubernetes集群认证管理

穿过生命散发芬芳

6 月 优质更文活动

C语言编程—语法练习

芯动大师

C语言 语法 6 月 优质更文活动

数字化扶乩的最佳语言是英语?

FN0

AIGC

Backdata.net 搜索引擎

Yongqiang

搜索引擎 导航网站

在人工智能冲击下,IT部门的生存价值在哪里?

FN0

AIGC

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