Skip to content

Conversation

@wildcherry2
Copy link
Contributor

Debug/Exploration tool that allows you to view the live call stack and frequency counter for all function calls routed through ProcessEvent, ProcessInternal, and ProcessLocalScriptFunction.

wildcherry2 and others added 30 commits January 6, 2026 11:16
scaffold Render class
move enums to their own file
use X-macros to reflect enums and generate helpers that'll be needed for ImGui
rename pause and resume to stop and start in IMiddleware
implement dllmain
make enums use an int underlying type for imgui compatibility
cut out unneeded override from main mod
IMiddleware::dequeue now uses uint16_t for performance control variables for imgui compatibility
add helper getters to IMiddleware
add UIState, CallFrequencyEntry, ThreadInfo, and TargetInfo structs for captured data, and flesh out CallStackEntry as needed
prototype white/blacklist filtering
prototype dequeue mechanism
prototype save view functionality
make map that holds tick functions static with a call_once initializer
refactor CallStackEntry/CallFrequencyEntry to use a common base class for simpler iteration, and simplify their fields
do encoding in hooks
…llows collapsing IMiddleware, HookMiddleware, and ConcurrentQueueMiddleware into a single singleton class and allows some optimizations.
Create AllNameStringViews/FunctionNameStringViews as a structure to hold useful string views, extend EntryBase derivatives accordingly
Fix issue where dequeued functions wouldn't filter properly (both frequency and stack entries were setting disabled based on the full name)
Use ComparisonIndex to compare strings in dequeue for the frequency counter
Abstract hook management to HookController private class in Middleware
Use an atomic flag to guarantee enqueues don't happen until all hooks are in place
…er thread rather than per target basis, so now the full call stack for pe, pi, and plsf can be viewed at once

Add option for disabling the indent colors
…m is paused to copy and w/blist parts of the entry
Add call sites for showing call stack entry modal
Fix unsigned/signed conversion issues
Null check in string pool
…a highlight flag for highlighting a CallStackEntry, used in the modal.
Shorten prefix for callers to function initials
Set the thread to the game thread if the user doesn't explicitly choose another thread.
wildcherry2 and others added 21 commits January 24, 2026 00:12
Add help markers to almost every option explaining how everything works.
Take out unnecessary passes_filters call in Client::dequeue.
Fix includes to not use relative paths
Set UIState::show_tick to default to true to not be misleading about call stacks, and set the default value for UIState::dequeue_max_count to 100,000.
Add frame style to entry popup child.
…ghboring calls may not be related when filters are applied.
…ender, which drastically reduces the workload each ImGui frame.
# Conflicts:
#	deps/first/Unreal
Copy link
Collaborator

@UE4SS UE4SS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nitpicks.

@wildcherry2 wildcherry2 requested a review from UE4SS January 26, 2026 17:22
@UE4SS UE4SS merged commit 535dc87 into UE4SS-RE:main Jan 26, 2026
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.

2 participants