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 (StepMode mode, FunctionReturnCallback function_return, fit::deferred_callback on_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, FunctionReturnCallback function_return, fit::deferred_callback on_done)
Steps given the source file/line.
Defined at line 28 of file ../../src/developer/debug/zxdb/client/step_thread_controller.cc
void StepThreadController (AddressRanges ranges, FunctionReturnCallback function_return, fit::deferred_callback on_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