mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04:23:51 +00:00
DecodeCallstackPtrFast() may be called outside the symbol processing thread, for example in the crash handler. Using the less-capable dladdr functionality doesn't have a big impact here. Callstack decoding in this context is used to remove the uninteresting top part of the callstack, so that the callstack ends at the crashing function, and not in the crash handler. Even if this functionality would be impacted by this change, the damage done is close to none. The other alternative is to use locking each time a libbacktrace is to be used, which does not seem to be worthy to do, considering that the problem only occurs in a very rare code path. NB everything was working when it was first implemented, because back then the callstack decoding was still performed on the main thread, and not on a separate, dedicated one.
Tracy Profiler
A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
Tracy supports profiling CPU (Direct support is provided for C, C++, and Lua integration. At the same time, third-party bindings to many other languages exist on the internet, such as Rust, Zig, C#, OCaml, Odin, etc.), GPU (All major graphic APIs: OpenGL, Vulkan, Direct3D 11/12, OpenCL.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.
- Documentation for usage and build process instructions
- Releases containing the documentation (
tracy.pdf
) and compiled Windows x64 binaries (Tracy-<version>.7z
) as assets - Changelog
- Interactive demo
Introduction to Tracy Profiler v0.2
New features in Tracy Profiler v0.3
New features in Tracy Profiler v0.4
New features in Tracy Profiler v0.5
New features in Tracy Profiler v0.6
New features in Tracy Profiler v0.7
New features in Tracy Profiler v0.8
Description
Languages
C++
90.8%
C
5.3%
TeX
2%
Python
0.9%
CMake
0.5%
Other
0.4%