class ThreadImpl

Defined at line 29 of file ../../src/developer/debug/zxdb/client/thread_impl.h

Public Methods

ProcessImpl * process ()

Defined at line 34 of file ../../src/developer/debug/zxdb/client/thread_impl.h

void ThreadImpl (ProcessImpl * process, const debug_ipc::ThreadRecord & record)

Defined at line 49 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void ~ThreadImpl ()

Defined at line 64 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

Process * GetProcess ()

Thread implementation:

Defined at line 66 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

uint64_t GetKoid ()

Defined at line 68 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

const std::string & GetName ()

Defined at line 70 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

std::optional<debug_ipc::ThreadRecord::State> GetState ()

Defined at line 72 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

debug_ipc::ThreadRecord::BlockedReason GetBlockedReason ()

Defined at line 73 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

std::optional<StopInfo> CurrentStopInfo ()

Defined at line 76 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

bool HasActiveThreadControllers ()

Defined at line 76 of file ../../src/developer/debug/zxdb/client/thread_impl.h

void Pause (fit::callback<void ()> on_paused)

Defined at line 78 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void Continue (bool forward_exception)

Defined at line 105 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void AddController (std::unique_ptr<ThreadController> controller, fit::callback<void (const Err &)> on_done, AddControllerOptions options)

Defined at line 166 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void ContinueWith (std::unique_ptr<ThreadController> controller, fit::callback<void (const Err &)> on_continue)

Defined at line 190 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void AddPostStopTask (PostStopTask task)

Defined at line 195 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void CancelAllThreadControllers ()

Defined at line 201 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void ResumeFromAsyncThreadController (std::optional<debug_ipc::ExceptionType> type)

Defined at line 210 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void JumpTo (uint64_t new_address, fit::callback<void (const Err &)> cb)

Defined at line 229 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void NotifyControllerDone (ThreadController * controller)

Defined at line 261 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void StepInstructions (uint64_t count)

Defined at line 274 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

const Stack & GetStack ()

Defined at line 282 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

Stack & GetStack ()

Defined at line 284 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

const AsyncTaskTree & GetAsyncTaskTree ()

Defined at line 286 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

AsyncTaskTree & GetAsyncTaskTree ()

Defined at line 288 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void SetMetadata (const debug_ipc::ThreadRecord & record, bool skip_frames)

Updates the thread metadata with new state from the agent. Does not issue any notifications.

When an exception is hit for example, everything needs to be updated first to a consistent

state and then we issue notifications. Callers may set |skip_frames| to true, which will not

set the stack of this thread to |record|. This can be useful when the client decides to fully

synchronize the stack from the Agent before setting the rest of the metadata from an exception

that should be kept when control is returned to the user.

Defined at line 290 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

void OnException (const StopInfo & info)

Notification of an exception. Call after SetMetadata() in cases where a stop may be required.

This function will check controllers and will either stop (dispatching notifications) or

transparently continue accordingly.

The breakpoints will include all breakpoints, including internal ones.

Defined at line 302 of file ../../src/developer/debug/zxdb/client/thread_impl.cc

Friends

class ThreadImplTest_StopNoStack_Test