#  Трассировка стека вызовов в среде кооперативной многозадачности: стектрейсы, файберы, два ствола
BotHabr (tgi,2) → All  –  08:00:05 2023-05-31

Опубликовано: Wed, 31 May 2023 07:57:33 GMT
Канал: Assembler – Язык программирования низкого уровня


Персонаж с картинки — Трейсер из игры Overwatch

Привет, Хабр! Для отладки и анализа производительности часто используется трассировка (сбор) стека вызовов aka стектрейс. И если для трассировки стека различных потоков выполнения есть системные средства, то работа с асинхронными языками и фреймворками предполагает наличие отдельного контекста выполнения и стека вызовов для каждой единицы исполнения. В этой статье мы поговорим о файберах. Они прозрачны с точки зрения операционной системы, что влечет за собой определенные сложности. Если трассировка стека вызовов активного файбера тривиальна (можно представить, что кооперативной многозадачности вообще нет), то как собирать стектрейс с неактивных файберов? Читать дальше →

https://habr.com/ru/companies/vk/articles/735794/