Yet another fix for UEDataFormatter.py
This commit is contained in:
@@ -16,12 +16,10 @@ _FUObjectItemType = None
|
||||
_GNameBlocksDebug = None
|
||||
_GObjectArrayForDebugVisualizers = None
|
||||
|
||||
def _init_globals(frame, bp_loc, dict):
|
||||
def _init_globals(target):
|
||||
global _FNameEntryType, _FNameEntryStride, _FUObjectItemType
|
||||
global _GNameBlocksDebug, _GObjectArrayForDebugVisualizers
|
||||
|
||||
target = frame.GetThread().GetProcess().GetTarget()
|
||||
|
||||
if _FNameEntryType is None:
|
||||
t = target.FindFirstType('FNameEntry')
|
||||
if t.IsValid():
|
||||
@@ -43,6 +41,13 @@ def _init_globals(frame, bp_loc, dict):
|
||||
if v.IsValid():
|
||||
_GObjectArrayForDebugVisualizers = v
|
||||
|
||||
class _GlobalsInitStopHook:
|
||||
def __init__(self, target, extra_args, internal_dict):
|
||||
_init_globals(target)
|
||||
def handle_stop(self, exe_ctx, stream):
|
||||
_init_globals(exe_ctx.GetTarget())
|
||||
return True
|
||||
|
||||
|
||||
############################################################
|
||||
#
|
||||
@@ -683,11 +688,11 @@ def _register_provider(cat, pattern, summary_fn=None, synth_cls=None):
|
||||
|
||||
def __lldb_init_module(debugger, dict):
|
||||
print("Running lldb_init_module")
|
||||
debugger.HandleCommand('target stop-hook add --python-function ' + __name__ + '._init_globals')
|
||||
debugger.HandleCommand('target stop-hook add -P ' + __name__ + '._GlobalsInitStopHook')
|
||||
debugger.HandleCommand('type category delete ' + __name__)
|
||||
frame = debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
|
||||
if frame.IsValid():
|
||||
_init_globals(frame, None, {})
|
||||
target = debugger.GetSelectedTarget()
|
||||
if target.IsValid():
|
||||
_init_globals(target)
|
||||
cat = debugger.CreateCategory(__name__)
|
||||
|
||||
_register_provider(cat, '^FString$', summary_fn='UEFStringSummaryProvider')
|
||||
|
||||
Reference in New Issue
Block a user