процесса, описание тут. Мне нужна подобная функциональность, но без сторонних зависимостей, кроме libunwind конечно же. Никто ничего аналогичного не видел?
мне кажется, проще будет повырезать отсюда зависимости
libdwfl, если чисто libunwind, то сильно сложнее: либо руками ptrace дергать, либо читерить с обработчиками сигналов
пока тоже так кажется, но вдруг есть что-то ещё
Читы с обработчиками сигнала выглядит так: https://github.com/ytsaurus/ytsaurus/blob/b041d59a0e8801659b44b826fe86e2576e41d81a/yt/yt/library/ytprof/cpu_profiler.cpp
Там примерно тоже самое. Шлют сигнал в тред, из обработчика в треде снимают трейс (чисто адреса), потом на стороне инициатора собирают уникальные трейсы, уже их декодируют из адресов и дампят.
Обсуждают сегодня