fuchsia.debugger

添加时间:16

协议

AgentIterator

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

GetNext

请求

<空>

响应

名称类型
agents vector<Agent>

AttachedProcessIterator

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

GetNext

请求

<空>

响应

名称类型
process_names vector<string>

DebugAgent

fuchsia.debugger/debug_agent.fidl 中定义

AttachTo

使用给定的过滤器将 附加到任何现有或后续创建 组件。此方法将返回 。所有关联的进程都会 在此代理销毁后分离。

|过滤|检查其有效性,并显示相应的错误 返回。如果过滤器无效,则不会添加附件。

|匹配数|将包含所找到的匹配项的数量 如果没有错误,则会立即将过滤器安装完毕, 直接数量(如果 指定选项时)该组件的相应作业。请注意, 过滤器可以安装在实际解析任何组件之前 和 匹配,因此该数字可能为 0。此返回值可安全地 已忽略。

无效的过滤条件会返回错误,请参阅上方的“过滤条件”可详细了解 如何构建过滤器。

添加时间:HEAD

请求

名称类型
pattern string
type FilterType
options FilterOptions

响应

名称类型
payload DebugAgent_AttachTo_Result

连接

向 DebugAgent 提供一个用于将其连接到调试程序的套接字。这个 如果已存在连接,则返回 ZX_ERR_ALREADY_BOUND。时间 套接字关闭后,DebugAgent 将退出。

请求

名称类型
socket handle<socket>

响应

名称类型
payload DebugAgent_Connect_Result

GetAttachedProcesses

迭代此代理连接到的所有进程。请注意,这是 这与已安装的过滤器集不同,而是 个匹配,但后来成功附加了过滤器的过滤器。

添加时间:HEAD

请求

名称类型
iterator server_end<AttachedProcessIterator>

GetMinidumps

收集所有附加进程的小型转储。|options|可能包含 此过滤器可以减少 迭代器。

添加时间:HEAD

请求

名称类型
options MinidumpOptions
iterator server_end<MinidumpIterator>

响应

名称类型
payload DebugAgent_GetMinidumps_Result

GetProcessInfo

迭代器的指定 server_end 将遍历所有线程, 所有附加进程。options 参数可能会传递给过滤器 并表达对应该如何改进 返回的值。如果是 DebugAgent,建议添加过滤条件 会关联到大量进程请注意,此过滤条件 不会导致附加任何新进程,并且该进程在 该方法会返回什么。这纯粹是为了缩小迭代器的边界。 在信息捕获期间,线程将挂起, 可能被其他系统进程中断的问题,请参阅 |ProcessInfoIterator|示例。

添加时间:HEAD

请求

名称类型
options GetProcessInfoOptions
iterator server_end<ProcessInfoIterator>

响应

名称类型
payload DebugAgent_GetProcessInfo_Result

OnFatalException

向客户端报告异常。如果没有连接 debug_ipc 客户端,则 异常将被立即释放,这可能会导致处理 崩溃。

添加时间:HEAD

响应

名称类型
payload DebugAgentOnFatalExceptionRequest

启动器

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

GetAgents

针对所有 DebugAgent 实例的迭代器。

请求

名称类型
iterator server_end<AgentIterator>

发布

启动一个新的 DebugAgent 实例来监听 |agent|。DebugAgent 将在关闭此渠道的相应 client_end 后退出。 在调试会话完成之前,客户端不得关闭通道 已完成。

请求

名称类型
agent server_end<DebugAgent>

响应

名称类型
payload Launcher_Launch_Result

MinidumpIterator

fuchsia.debugger/debug_agent.fidl 中定义

收集并返回一组进程的小型转储的迭代器。一个 如果没有更多进程,系统将返回空的 VMO。

添加时间:HEAD

GetNext

请求

<空>

响应

名称类型
payload MinidumpIterator_GetNext_Result

ProcessInfoIterator

fuchsia.debugger/debug_agent.fidl 中定义

从所有附加进程的所有线程中收集详细信息。确切的 通过迭代器生成的详细信息可通过 ThreadDetailsInterest 传递给 |GetProcessInfo|。迭代器将生成一个 所有附加进程后显示空白矢量”已经过迭代。时间是 如果没有为该迭代器提供进程,则会发生此错误, 传递到 |GetProcessInfo| 的过滤器的限制过于严格或者 DebugAgent 为 没有附加任何东西

这种迭代本质上很糟糕,DebugAgent 无法阻止 其他系统实体会导致某个进程或线程消失, 因此迭代器有可能返回错误 当这些线程或进程被销毁时触发。这些并不严重 但可能会在一次迭代中多次发生。

以以下进程结构为例,假设连接了 DebugAgent 至所有内容:

pr: "process-1"1,234,000 t:“pr1234-t1”1 次 t:“pr1234-t2”2 次 pr: "process-2"2,345,000 t:“pr2345-t1”3 次

如果为“process-1”在“pr1234-t1”后终止但 “pr1234-t2”下个函数都会返回 THREAD_GONE 错误 |GetNext|调用。致电 |GetNext|将产生“pr2345-t1”。

添加时间:HEAD

GetNext

收集有关下一个附加线程的信息。没有任何 进程顺序保证,但是来自给定进程的所有线程 在另一个进程的线程之前进行迭代。

请求

<空>

响应

名称类型
payload ProcessInfoIterator_GetNext_Result

结构体

代理资源

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

字段类型说明默认
name fuchsia.component/child_name 无默认设置
client_end DebugAgent 无默认设置

DebugAgent_AttachTo_Response

fuchsia.debugger/debug_agent.fidl 中定义

字段类型说明默认
num_matches uint32 无默认设置

DebugAgent_Connect_Response

fuchsia.debugger/debug_agent.fidl 中定义

<空>

DebugAgent_GetMinidumps_Response

fuchsia.debugger/debug_agent.fidl 中定义

<空>

DebugAgent_GetProcessInfo_Response

fuchsia.debugger/debug_agent.fidl 中定义

<空>

过滤

fuchsia.debugger/debug_agent.fidl 中定义

一个过滤器,将应用于当前和 。与指定模式和类型匹配的任何组件或进程 之后,客户端便可查询 计划。有效的过滤条件将始终包含非空模式字符串, 以及一个用于识别模式比较项的 FilterType。其他 可以通过 FilterOptions 指定选项。

添加时间:HEAD

字段类型说明默认
pattern string

要与指定 |type| 匹配的字符串模式。空 将导致 NO_PATTERN 错误。

无默认设置
type FilterType

如何解读 |pattern|。请参阅 FilterType。

无默认设置
options FilterOptions

此过滤器的其他选项。请参阅 FilterOptions。

无默认设置

Launcher_Launch_Response

fuchsia.debugger/debug_agent.fidl 中定义

<空>

MinidumpIterator_GetNext_Response 资源

fuchsia.debugger/debug_agent.fidl 中定义

字段类型说明默认
minidump handle<vmo> 无默认设置

ProcessInfo

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

字段类型说明默认
process zx/Koid 无默认设置
moniker string[4096] 无默认设置
thread zx/Koid

在 |details| 中生成信息的线程的 koid。

无默认设置
details ThreadDetails

有关使用 |koid| 的线程的详细信息,如 ThreadDetailsInterest 提供给 |GetProcessInfo|。

无默认设置

ProcessInfoIterator_GetNext_Response

fuchsia.debugger/debug_agent.fidl 中定义

字段类型说明默认
info vector<ProcessInfo> 无默认设置

精英

FilterError 柔性环境

类型:uint32

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

名称说明
1

表示过滤条件中未提供任何模式。

2

对于此代理,FilterType 未指定或因其他原因属于未知类型。

FilterType 柔性

类型:uint8

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

名称说明
0

与组件的网址执行完全匹配,无哈希值。 例如模式 fuchsia-pkg://fuchsia.com/package#meta/component.cm 将 匹配 fuchsia-pkg://fuchsia.com/package?hash=1234abcd#meta/component.cm。

1

对组件的完整名称执行完全匹配。

2

匹配将模式作为前缀的任何组件名称。

3

匹配将模式作为后缀的任何组件名称。

MinidumpError 柔性

类型:uint32

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

名称说明
1

未向迭代器返回任何进程。这可能意味着, 提供的过滤器与任何附加进程都不匹配,或 DebugAgent 为 未附加到任何进程。

2

生成迷你转储文件时出错。这些错误是不透明的 调试代理。

ProcessInfoError 柔性环境

类型:uint32

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

名称说明
1

没有可迭代的附加进程。

2

进程已终止,导致迭代器无效。

3

一个进程的线程发生了变化,导致迭代器无效。

表格

DebugAgentOnFatalExceptionRequest

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal字段类型说明
thread zx/Koid

错误线程的 koid。

backtrace string

来自故障线程的堆栈轨迹(采用符号化程序标记格式)。

FilterOptions

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

Ordinal字段类型说明
recursive bool

是否同时匹配匹配中的所有子组件 组件的领域。如果值为 true,则匹配组件的完整名称将 将被假定为 Realm 的根,并且所有子组件 才能在此领域内发布

GetProcessInfoOptions

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

Ordinal字段类型说明
filter Filter

一个过滤器,用于减少迭代进程的数量 结束。此操作不会安装任何新的过滤器,也不会产生新的 要附加的进程相反,此过滤条件将应用于 已附加的进程,如果有很多节点, 个进程当前挂接的进程。

interest ThreadDetailsInterest

客户应指定他们希望获得的数据 从这里指定迭代器。任何未指定的字段将假定为 false。如需了解可能数据的说明,请参阅 ThreadDetailsInterest。

MinidumpOptions

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

Ordinal字段类型说明
filter Filter

此操作不会安装任何新过滤器,也不会导致新进程 进行附加。相反,此过滤条件将应用于已附加 过程。

ThreadDetails

fuchsia.debugger/debug_agent.fidl 中定义

特定线程的详细信息。将按照 通过以下内容创建 ProcessInfoIterator 时提供的 ThreadDetailsInterest |GetProcessInfo|。

添加时间:HEAD

Ordinal字段类型说明
backtrace string

来自当前线程的堆栈轨迹(采用符号化程序标记格式)。

ThreadDetailsInterest

fuchsia.debugger/debug_agent.fidl 中定义

添加时间:HEAD

Ordinal字段类型说明
backtrace bool

以符号化程序标记格式为每个线程生成回溯。 如果未指定,则系统不会在 ProcessInfoIterator 生成的 ThreadDetails。

联合体

DebugAgent_AttachTo_Result 严格

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response DebugAgent_AttachTo_Response
err FilterError
framework_err internal

DebugAgent_Connect_Result strict

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response DebugAgent_Connect_Response
err zx/Status
framework_err internal

DebugAgent_GetMinidumps_Result 严格

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response DebugAgent_GetMinidumps_Response
err FilterError
framework_err internal

DebugAgent_GetProcessInfo_Result 严格

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response DebugAgent_GetProcessInfo_Response
err FilterError
framework_err internal

Launcher_Launch_Result 严格

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response Launcher_Launch_Response
err zx/Status
framework_err internal

MinidumpIterator_GetNext_Result 是严格的 资源

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response MinidumpIterator_GetNext_Response
err MinidumpError

ProcessInfoIterator_GetNext_Result 严格

fuchsia.debugger/debug_agent.fidl 中定义

Ordinal变体类型说明
response ProcessInfoIterator_GetNext_Response
err ProcessInfoError