pub struct DebugAgentProxy { /* private fields */ }
Implementations§
Source§impl DebugAgentProxy
impl DebugAgentProxy
Sourcepub fn take_event_stream(&self) -> DebugAgentEventStream
pub fn take_event_stream(&self) -> DebugAgentEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn connect(
&self,
socket: Socket,
) -> QueryResponseFut<DebugAgentConnectResult, DefaultFuchsiaResourceDialect>
pub fn connect( &self, socket: Socket, ) -> QueryResponseFut<DebugAgentConnectResult, DefaultFuchsiaResourceDialect>
Hand the DebugAgent a socket that connects it to the debugger. This will return ZX_ERR_ALREADY_BOUND if a connection already exists. When the socket is closed, the DebugAgent will exit.
Sourcepub fn get_attached_processes(
&self,
iterator: ServerEnd<AttachedProcessIteratorMarker>,
) -> Result<(), Error>
pub fn get_attached_processes( &self, iterator: ServerEnd<AttachedProcessIteratorMarker>, ) -> Result<(), Error>
Iterator over all processes that this agent is attached to. Note this is not the same as the set of installed filters, but rather the set of filters that matched and were later successfully attached.
Sourcepub fn attach_to(
&self,
pattern: &str,
type_: FilterType,
options: &FilterOptions,
) -> QueryResponseFut<DebugAgentAttachToResult, DefaultFuchsiaResourceDialect>
pub fn attach_to( &self, pattern: &str, type_: FilterType, options: &FilterOptions, ) -> QueryResponseFut<DebugAgentAttachToResult, DefaultFuchsiaResourceDialect>
Use the given filter to attach to any existing or subsequently created components. This method will return the number of matches that were present at the time of calling this method. All attached processes will be detached when this agent is destroyed.
|filter| will be inspected for validity, with corresponding errors returned. If the filter is invalid, no attaches will occur and the filter will not be installed.
|num_matches| will contain the number of matches that were found immediately upon filter installation if there was no error, that is, the number of processes immediately within (or recursively in this realm, if the option is specified) this component’s corresponding job. Note that filters may be installed before any components are actually resolved and matched, so this number may be 0. This return value may be safely ignored.
Invalid filters will return an error, see Filter above for details on how to construct a filter.
Sourcepub fn get_process_info(
&self,
options: &GetProcessInfoOptions,
iterator: ServerEnd<ProcessInfoIteratorMarker>,
) -> QueryResponseFut<DebugAgentGetProcessInfoResult, DefaultFuchsiaResourceDialect>
pub fn get_process_info( &self, options: &GetProcessInfoOptions, iterator: ServerEnd<ProcessInfoIteratorMarker>, ) -> QueryResponseFut<DebugAgentGetProcessInfoResult, DefaultFuchsiaResourceDialect>
The given server_end of the iterator will iterate over all threads, of all attached processes. The options parameter may be passed to filter the already attached processes and to express interest in what should be yielded by the iterator. Including a filter is recommended if DebugAgent is attached to a large number of processes. Note that this filter will not cause any new processes to be attached and will not be saved after this method returns. It is purely to reduce the bounds of the iterator. The threads will be suspended for the duration of information capture, which could be interrupted by other system processes, see |ProcessInfoIterator| for an example.
Sourcepub fn get_minidumps(
&self,
options: &MinidumpOptions,
iterator: ServerEnd<MinidumpIteratorMarker>,
) -> QueryResponseFut<DebugAgentGetMinidumpsResult, DefaultFuchsiaResourceDialect>
pub fn get_minidumps( &self, options: &MinidumpOptions, iterator: ServerEnd<MinidumpIteratorMarker>, ) -> QueryResponseFut<DebugAgentGetMinidumpsResult, DefaultFuchsiaResourceDialect>
Collect minidumps for all attached processes. |options| may contain a filter to reduce the number of minidumps that are yielded by the iterator.
Trait Implementations§
Source§impl Clone for DebugAgentProxy
impl Clone for DebugAgentProxy
Source§fn clone(&self) -> DebugAgentProxy
fn clone(&self) -> DebugAgentProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DebugAgentProxy
impl Debug for DebugAgentProxy
Source§impl DebugAgentProxyInterface for DebugAgentProxy
impl DebugAgentProxyInterface for DebugAgentProxy
type ConnectResponseFut = QueryResponseFut<Result<(), i32>>
type AttachToResponseFut = QueryResponseFut<Result<u32, FilterError>>
type GetProcessInfoResponseFut = QueryResponseFut<Result<(), FilterError>>
type GetMinidumpsResponseFut = QueryResponseFut<Result<(), FilterError>>
fn connect(&self, socket: Socket) -> Self::ConnectResponseFut
fn get_attached_processes( &self, iterator: ServerEnd<AttachedProcessIteratorMarker>, ) -> Result<(), Error>
fn attach_to( &self, pattern: &str, type_: FilterType, options: &FilterOptions, ) -> Self::AttachToResponseFut
fn get_process_info( &self, options: &GetProcessInfoOptions, iterator: ServerEnd<ProcessInfoIteratorMarker>, ) -> Self::GetProcessInfoResponseFut
fn get_minidumps( &self, options: &MinidumpOptions, iterator: ServerEnd<MinidumpIteratorMarker>, ) -> Self::GetMinidumpsResponseFut
Source§impl Proxy for DebugAgentProxy
impl Proxy for DebugAgentProxy
Source§type Protocol = DebugAgentMarker
type Protocol = DebugAgentMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Auto Trait Implementations§
impl Freeze for DebugAgentProxy
impl !RefUnwindSafe for DebugAgentProxy
impl Send for DebugAgentProxy
impl Sync for DebugAgentProxy
impl Unpin for DebugAgentProxy
impl !UnwindSafe for DebugAgentProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)