class StepThroughPltThreadController

Defined at line 26 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.h

The POSIX dynamic loader resolves cross-library symbols with "plt" trampolines. This is a small

bit of code in the calling module. This code calls into the dynamic loader to resolve the symbol

on demand. The PLT address is then replaced with the destination address to avoid future lookups.

These PLT trampolines are unsymbolized and users normally want to ignore them. This thread

controller can be instantiated for the first instruction in a PLT trampoline and it will get

through the PLT trampoline and report a stop when the destination function is reached.

When InitWithThread() is called, the thread should be stopped at a PLT trampoline.

Public Methods

void StepThroughPltThreadController (fit::deferred_callback on_done)

Defined at line 19 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.cc

void InitWithThread (Thread * thread, fit::callback<void (const Err &)> cb)

ThreadController implementation.

Defined at line 22 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.cc

const char * GetName ()

Defined at line 35 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.h

ContinueOp GetContinueOp ()

Defined at line 129 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.cc

StopOp OnThreadStop (debug_ipc::ExceptionType stop_type, const std::vector<fxl::WeakPtr<Breakpoint>> & hit_breakpoints)

Defined at line 137 of file ../../src/developer/debug/zxdb/client/step_through_plt_thread_controller.cc