Skip to content

[RFC] Start splitting TracyCallstack.cpp#1326

Draft
Lectem wants to merge 2 commits intowolfpld:masterfrom
siliceum:refactor/tracycallstack
Draft

[RFC] Start splitting TracyCallstack.cpp#1326
Lectem wants to merge 2 commits intowolfpld:masterfrom
siliceum:refactor/tracycallstack

Conversation

@Lectem
Copy link
Copy Markdown
Collaborator

@Lectem Lectem commented Mar 31, 2026

Main objective of starting this refactoring is to have some kind of SymbolResolver abstraction with a clean interface.
This will let us switch between implementations more easily, and also reuse them in tools and server, notably for offline resolution.
This should also help for non-pdb symbols support on Windows (MinGW mostly?) by allowing libbacktrace to be used as fallback to DbgHelp (I'm not sure I want to do this, but in any case a cleaner abstraction should help).

Lectem added 2 commits March 31, 2026 17:13
Main objective of starting this refactoring is to have a `SymbolResolver` abstraction with a clean interface, so that we may easily switch between implementations, and also reuse them more easily in tools and server. This should also help support non-pdb symbols on windows (MinGW mostly?) by allowing libbacktrace to be used on Windows more easily.

Move ImageCache to TracySymbols.hpp.
For now s_imageCache and s_KrnlCache are still owned by TracyCallstack.cpp but will in the end be moved per "resolver".
For now, still include it directly from TracyCallstack.cpp.
Caching of modules/drivers has been moved to `PrecacheProcessDriversAndModules` and is now called from `DbgHelpInit`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant