MCPcopy Create free account
hub / github.com/Vector35/debugger / step_return

Method step_return

api/python/debuggercontroller.py:874–892  ·  view source on GitHub ↗

Perform a step return on the target. Step return completes the execution of the current function and returns to its caller. This operation relies heavily on stack frame analysis, which is done by the DebugAdapters. If a DebugAdapter does not support (i.e., overload

(self)

Source from the content-addressed store, hash-verified

872 return dbgcore.BNDebuggerStepOver(self.handle, il)
873
874 def step_return(self) -> bool:
875 """
876 Perform a step return on the target.
877
878 Step return completes the execution of the current function and returns to its caller. This operation relies
879 heavily on stack frame analysis, which is done by the DebugAdapters.
880
881 If a DebugAdapter does not support (i.e., overload) this function, a fallback handling is provided by the
882 DebuggerController. It checks the MLIL function and put breakpoints on all returning instructions and then resume
883 the target. By the time it breaks, the target is about to return from the current function.
884
885 This fallback behavior is slightly different from that offered by the LLDB and DbgEng adapter, which returns
886 from the current function and break afterwards.
887
888 The call is asynchronous and returns before the target stops.
889
890 :return: the reason for the stop
891 """
892 return dbgcore.BNDebuggerStepReturn(self.handle)
893
894 def run_to(self, address) -> bool:
895 """

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected