Thomas Sampson

Debugging Unreal Engine Blueprint Callstacks From Visual Studio


Intro #

When debugging in Unreal Engine, sometimes you hit a C++ breakpoint and realise that part of your callstack originates from the Blueprint VM, deep within the bowels of the engine. This suggests that you've arrived here via some Blueprint logic, which called a UFUNCTION or broadcast a Delegate callback at some point along the way. Althgouth it's possible to do so manually, it can be quite tedious to manually unwind the Blueprint VM callstack. Luckily there's a handy command you can execute from the Immediate Window in Visual Studio, which will print out the entire callstack with proper blueprint function/symbol names included. Examples below:
 
GitHub Gist: https://git.io/JJCLc
 

Dump Blueprint Callstack (UE4 Editor Build)

{,,UE4Editor-Core}::PrintScriptCallstack()

 
Dump Blueprint Callstack (UE5 Editor Build)

{,,UnrealEditor-Core}::PrintScriptCallstack()

 
Dump Blueprint Callstack (Standalone/Package Build)

::PrintScriptCallstack()