class DebugAgent
Defined at line 38 of file ../../src/developer/debug/debug_agent/debug_agent.h
Main state and control for the debug agent.
Public Methods
SystemInterface & system_interface ()
Defined at line 49 of file ../../src/developer/debug/debug_agent/debug_agent.h
const std::map<uint32_t, Breakpoint> & breakpoints ()
Defined at line 50 of file ../../src/developer/debug/debug_agent/debug_agent.h
bool is_connected ()
Reflects the state of a debug_ipc connection.
Defined at line 53 of file ../../src/developer/debug/debug_agent/debug_agent.h
void DebugAgent (std::unique_ptr<SystemInterface> system_interface)
A MessageLoopZircon should already be set up on the current thread.
The stream must outlive this class. It will be used to send data to the
client. It will not be read (that's the job of the provider of the
RemoteAPI).
Defined at line 78 of file ../../src/developer/debug/debug_agent/debug_agent.cc
fxl::WeakPtr<DebugAgent> GetWeakPtr ()
Defined at line 99 of file ../../src/developer/debug/debug_agent/debug_agent.cc
template <typename NotifyType>
void SendNotification (const NotifyType & notify)
Send notification to the client.
Defined at line 99 of file ../../src/developer/debug/debug_agent/debug_agent.h
void TakeAndConnectRemoteAPIStream (std::unique_ptr<debug::BufferedStream> stream)
Wire |stream| up to |adapter_| and then pass it to |Connect|.
Defined at line 101 of file ../../src/developer/debug/debug_agent/debug_agent.cc
uint32_t GetVersion ()
RemoteAPI implementation.
Defined at line 114 of file ../../src/developer/debug/debug_agent/debug_agent.h
void Connect (std::unique_ptr<debug::BufferedStream> stream)
Take ownership of |stream| and start listening.
Defined at line 122 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void AddObserver (DebugAgentObserver * observer)
Defined at line 125 of file ../../src/developer/debug/debug_agent/debug_agent.h
void Disconnect ()
Defined at line 130 of file ../../src/developer/debug/debug_agent/debug_agent.cc
const std::map<zx_koid_t, std::unique_ptr<DebuggedProcess>> & GetAllProcesses ()
Defined at line 132 of file ../../src/developer/debug/debug_agent/debug_agent.h
void RemoveDebuggedProcess (zx_koid_t process_koid)
Defined at line 152 of file ../../src/developer/debug/debug_agent/debug_agent.cc
Breakpoint * GetBreakpoint (uint32_t breakpoint_id)
Defined at line 160 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void RemoveBreakpoint (uint32_t breakpoint_id)
Defined at line 166 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnProcessChanged (ProcessChangedHow how, std::unique_ptr<ProcessHandle> process)
Defined at line 1050 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnComponentStarted (const std::string & moniker, const std::string & url, zx_koid_t job_koid)
Notified by ComponentManager.
Defined at line 1203 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnComponentExited (const std::string & moniker, const std::string & url)
Defined at line 1279 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnTestComponentExited (const std::string & url)
Defined at line 1290 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void InjectProcessForTest (std::unique_ptr<DebuggedProcess> process)
Defined at line 1298 of file ../../src/developer/debug/debug_agent/debug_agent.cc
DebuggedJob * GetDebuggedJob (zx_koid_t koid)
Defined at line 644 of file ../../src/developer/debug/debug_agent/debug_agent.cc
DebuggedProcess * GetDebuggedProcess (zx_koid_t koid)
Defined at line 653 of file ../../src/developer/debug/debug_agent/debug_agent.cc
DebuggedThread * GetDebuggedThread (const debug_ipc::ProcessThreadId & id)
Defined at line 660 of file ../../src/developer/debug/debug_agent/debug_agent.cc
debug_ipc::ExceptionStrategy GetExceptionStrategy (debug_ipc::ExceptionType type)
Returns the exception handling strategy for a given type.
Defined at line 811 of file ../../src/developer/debug/debug_agent/debug_agent.cc
std::vector<debug_ipc::ProcessThreadId> ClientSuspendAll (zx_koid_t except_process, zx_koid_t except_thread)
Suspends all threads of all attached processes. If given the process/thread will be excepted
from the suspend (they must both be either specified or ZX_KOID_INVALID).
The affected process/thread koid pairs are returned. Any threads already in a client suspend
will not be affected.
Defined at line 667 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void ClearState ()
Clear all state and release all attached processes.
Defined at line 138 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnHello (const debug_ipc::HelloRequest & request, debug_ipc::HelloReply * reply)
Defined at line 171 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnStatus (const debug_ipc::StatusRequest & request, debug_ipc::StatusReply * reply)
Defined at line 199 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnRunBinary (const debug_ipc::RunBinaryRequest & request, debug_ipc::RunBinaryReply * reply)
Defined at line 253 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnRunComponent (const debug_ipc::RunComponentRequest & request, debug_ipc::RunComponentReply * reply)
Defined at line 264 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnRunTest (const debug_ipc::RunTestRequest & request, debug_ipc::RunTestReply * reply)
Defined at line 269 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnKill (const debug_ipc::KillRequest & request, debug_ipc::KillReply * reply)
Defined at line 275 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnDetach (const debug_ipc::DetachRequest & request, debug_ipc::DetachReply * reply)
Defined at line 304 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnPause (const debug_ipc::PauseRequest & request, debug_ipc::PauseReply * reply)
Defined at line 332 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnResume (const debug_ipc::ResumeRequest & request, debug_ipc::ResumeReply * reply)
Defined at line 369 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnModules (const debug_ipc::ModulesRequest & request, debug_ipc::ModulesReply * reply)
Defined at line 398 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnProcessTree (const debug_ipc::ProcessTreeRequest & request, debug_ipc::ProcessTreeReply * reply)
Defined at line 405 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnThreads (const debug_ipc::ThreadsRequest & request, debug_ipc::ThreadsReply * reply)
Defined at line 410 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnReadMemory (const debug_ipc::ReadMemoryRequest & request, debug_ipc::ReadMemoryReply * reply)
Defined at line 419 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnReadRegisters (const debug_ipc::ReadRegistersRequest & request, debug_ipc::ReadRegistersReply * reply)
Defined at line 426 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnWriteRegisters (const debug_ipc::WriteRegistersRequest & request, debug_ipc::WriteRegistersReply * reply)
Defined at line 436 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnAddOrChangeBreakpoint (const debug_ipc::AddOrChangeBreakpointRequest & request, debug_ipc::AddOrChangeBreakpointReply * reply)
Defined at line 449 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnRemoveBreakpoint (const debug_ipc::RemoveBreakpointRequest & request, debug_ipc::RemoveBreakpointReply * reply)
Defined at line 464 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnSysInfo (const debug_ipc::SysInfoRequest & request, debug_ipc::SysInfoReply * reply)
Defined at line 469 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnThreadStatus (const debug_ipc::ThreadStatusRequest & request, debug_ipc::ThreadStatusReply * reply)
Defined at line 479 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnAddressSpace (const debug_ipc::AddressSpaceRequest & request, debug_ipc::AddressSpaceReply * reply)
Defined at line 543 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnUpdateFilter (const debug_ipc::UpdateFilterRequest & request, debug_ipc::UpdateFilterReply * reply)
Defined at line 550 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnWriteMemory (const debug_ipc::WriteMemoryRequest & request, debug_ipc::WriteMemoryReply * reply)
Defined at line 600 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnLoadInfoHandleTable (const debug_ipc::LoadInfoHandleTableRequest & request, debug_ipc::LoadInfoHandleTableReply * reply)
Defined at line 611 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnUpdateGlobalSettings (const debug_ipc::UpdateGlobalSettingsRequest & request, debug_ipc::UpdateGlobalSettingsReply * reply)
Defined at line 622 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnSaveMinidump (const debug_ipc::SaveMinidumpRequest & request, debug_ipc::SaveMinidumpReply * reply)
Defined at line 629 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void OnAttach (const debug_ipc::AttachRequest & request, debug_ipc::AttachReply * reply)
Attaching ---------------------------------------------------------------------------------------
Defined at line 821 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void WriteLog (debug::LogSeverity severity, const debug::FileLineFunction & location, std::string log)
Implements |LogBackend|.
Defined at line 1357 of file ../../src/developer/debug/debug_agent/debug_agent.cc
void RemoveObserver (DebugAgentObserver * observer)
Note this is a potential exit point. If there are no more observers after |observer| has been
removed, and no debug_ipc client is connected, the message loop will be shut down and this
agent will exit.
Defined at line 1347 of file ../../src/developer/debug/debug_agent/debug_agent.cc
std::vector<const debug_ipc::Filter *> GetIpcFilters ()
Warning this returns pointers into our internal buffer of filters. If the internal buffer is
mutated, these pointers will be invalidated.
Defined at line 1336 of file ../../src/developer/debug/debug_agent/debug_agent.cc
Enumerations
enum ProcessChangedHow
| Name | Value |
|---|---|
| kStarting | 0 |
| kNameChanged | 1 |
Defined at line 66 of file ../../src/developer/debug/debug_agent/debug_agent.h
Friends
class DebugAgentTests_Kill_Test