class StepThreadController
Defined at line 31 of file ../../src/developer/debug/zxdb/client/step_thread_controller.h
Implements a low-level "step into" command. It knows how to step by source lines, over a range of
addresses, or by single instruction.
This is the main low-level thread controller used by other ones. Generally programmatic uses
(e.g. from with "step over") will use this class. It will not generally be used directly, a
user-level "step into" should use the StepIntoThreadController which provides some additional
functionality.
When stepping by file/line, this class will generate synthetic exceptions and adjust the stack to
simulate stepping into inline function calls (even though there is no actual call instruction).
Public Methods
void StepThreadController (StepModemode,FunctionReturnCallbackfunction_return,fit::deferred_callbackon_done)
Constructor for kSourceLine and kInstruction modes. It will initialize itself to the thread's
current position when the thread is attached.
The function_return callback (if supplied) will be issued when the "step into" terminates with
the completion of the function.
Defined at line 22 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
void StepThreadController (const FileLine &line,FunctionReturnCallbackfunction_return,fit::deferred_callbackon_done)
Steps given the source file/line.
Defined at line 28 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
void StepThreadController (AddressRangesranges,FunctionReturnCallbackfunction_return,fit::deferred_callbackon_done)
Constructor for a kAddressRange mode (the mode is implicit). Continues execution as long as the
IP is in range.
Defined at line 36 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
void ~StepThreadController ()
Defined at line 44 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
void InitWithThread (Thread * thread, fit::callback<void (const Err &)> cb)
ThreadController implementation.
Defined at line 46 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
const char * GetName ()
Defined at line 57 of file ../../src/developer/debug/zxdb/client/step_thread_controller.h
ContinueOp GetContinueOp ()
Defined at line 89 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
StopOp OnThreadStop (debug_ipc::ExceptionType stop_type, const std::vector<fxl::WeakPtr<Breakpoint>> & hit_breakpoints)
Defined at line 126 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc