通訊協定
AgentIterator
在 fuchsia.debugger/debug_agent.fidl 中定義
GetNext
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| agents | vector<Agent> | 
AttachedProcessIterator
在 fuchsia.debugger/debug_agent.fidl 中定義
GetNext
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| process_names | vector<string> | 
DebugAgent
在 fuchsia.debugger/debug_agent.fidl 中定義
AttachTo
使用指定的篩選器,附加至任何現有或後續建立的項目 元件。此方法會傳回 您呼叫此方法時存在的部分所有附加的程序 刪除時再卸離。
|篩選器|都會接受檢查,但會有相應的錯誤 。如果篩選器無效,就不會加入附件。
|數字比對|會包含 在沒有錯誤的情況下立即安裝篩選器,也就是 會立即生效 (若此領域以遞迴方式發出,或以遞迴方式發出) 選項) 此元件的對應工作。請注意, 篩選器可在實際解析任何元件「之前」 因此該數字可能為 0此傳回值可能安全無虞 已忽略。
無效的篩選器會傳回錯誤。詳情請參閱上方的篩選器: 如何建構篩選器
要求
| 名稱 | 類型 | 
|---|---|
| pattern | string | 
| type | FilterType | 
| options | FilterOptions | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | DebugAgent_AttachTo_Result | 
連線
向 DebugAgent 提交可連線至偵錯工具的通訊端。這個 如果已存在連線,則會傳回 ZX_ERR_ALREADY_BOUND。時間 通訊端已關閉,DebugAgent 就會結束。
要求
| 名稱 | 類型 | 
|---|---|
| socket | handle<socket> | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | DebugAgent_Connect_Result | 
GetAttachedProcesses
針對這個代理程式附加的所有程序進行疊代器。請注意,這是 與已安裝的篩選器組合不同,而是一組已安裝篩選器 已相符的篩選器,但稍後已成功附加。
要求
| 名稱 | 類型 | 
|---|---|
| iterator | server_end<AttachedProcessIterator> | 
GetMinidumps
收集所有附加程序的小型傾印。|options|可能包含 來減少 iterator。
要求
| 名稱 | 類型 | 
|---|---|
| options | MinidumpOptions | 
| iterator | server_end<MinidumpIterator> | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | DebugAgent_GetMinidumps_Result | 
GetProcessInfo
的疊代器指定的 server_end 會疊代所有執行緒, 所有附加的程序可以將 options 參數傳遞至篩選條件 想要瞭解 來自疊代器產生的結果如果 DebugAgent 則建議加入篩選器 會附加至大量程序請注意,這個篩選器 不會導致新程序附加至,且不會在 此方法就會傳回值。主要用來減少疊代器的邊界。 這些執行緒在資訊擷取期間將暫停, 可能受到其他系統程序中斷 |ProcessInfoIterator|例如,
要求
| 名稱 | 類型 | 
|---|---|
| options | GetProcessInfoOptions | 
| iterator | server_end<ProcessInfoIterator> | 
回應
| 名稱 | 類型 | 
|---|---|
| payload | DebugAgent_GetProcessInfo_Result | 
OnFatalException
回報客戶例外狀況。如果未連線至任何 debug_ipc 用戶端, 並立即解除例外狀況,這可能會導致整個程序 當機。
回應
| 名稱 | 類型 | 
|---|---|
| payload | DebugAgentOnFatalExceptionRequest | 
啟動器
在 fuchsia.debugger/debug_agent.fidl 中定義
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。
GetNext
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| payload | MinidumpIterator_GetNext_Result | 
ProcessInfoIterator
在 fuchsia.debugger/debug_agent.fidl 中定義
從所有附加程序的所有執行緒收集詳細資料。與 從疊代器產生的詳細資料 將 ThreadDetailsInterest 傳送至 |GetProcessInfo|。疊代器會產生 此為空向量執行緒已疊代過。是 如果沒有提供給這個疊代器的程序,可能會發生錯誤 從傳遞至 |GetProcessInfo| 的篩選器限制過多或 DebugAgent 為 未附加至任何項目
此疊代本身俱有時效性,DebugAgent 無法防止 導致處理序或執行緒消失的系統實體 因此這個疊代器可能會傳回錯誤 刪除這些執行緒或程序遭到刪除時這些事件都不嚴重 但可能會在一次疊代中多次發生
例如,採用這個程序結構,並假設已附加 DebugAgent 到所有領域:
pr:「process-1」1234 人 t:「pr1234-t1」1 分 t:「pr1234-t2」2 分 pr:「process-2」2,345 次 t:「pr2345-t1」3 分
如果為「process-1」於「pr1234-t1」後終止產生的分數 「pr1234-t2」,系統就會在下一個步驟 |GetNext|呼叫。撥號中 |取得下一步|會產生「pr2345-t1」
GetNext
收集下一個附加執行緒的相關資訊。由於沒有 保證具有程序順序,但是來自特定程序的所有執行緒 會比其他程序的執行緒先疊代
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
| payload | ProcessInfoIterator_GetNext_Result | 
結構
虛擬服務專員資源
在 fuchsia.debugger/debug_agent.fidl 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| 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 指定。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| pattern | string | 要與指定 |type| 配對的字串模式。空白 模式會產生 NO_PATTERN 錯誤。 | 無預設 | 
| type | FilterType | 如何解讀 |圖案|。請參閱「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 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| process | zx/Koid | 無預設 | |
| moniker | string[4096] | 無預設 | |
| thread | zx/Koid | 產生 |details| 中資訊的執行緒的無尾符號。 | 無預設 | 
| details | ThreadDetails | 使用 |koid| 的執行緒詳細資料,如 提供給 |GetProcessInfo| 的 ThreadDetailsInterest。 | 無預設 | 
ProcessInfoIterator_GetNext_Response
在 fuchsia.debugger/debug_agent.fidl 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| info | vector<ProcessInfo> | 無預設 | 
ENUMS
FilterError 彈性
類型:uint32
在 fuchsia.debugger/debug_agent.fidl 中定義
| 名稱 | 值 | 說明 | 
|---|---|---|
| NO_PATTERN | 1 | 表示篩選器未提供任何模式。 | 
| UNKNOWN_TYPE | 2 | 未指定 FilterType,或者是這個代理程式的未知類型。 | 
FilterType 彈性
類型:uint8
在 fuchsia.debugger/debug_agent.fidl 中定義
| 名稱 | 值 | 說明 | 
|---|---|---|
| 網址 | 0 | 針對元件的網址 (Sans 雜湊值) 執行完全比對。 例如:模式 fuchsia-pkg://fuchsia.com/package#meta/component.cm 將會 對應至 fuchsia-pkg://fuchsia.com/package?hash=1234abcd#meta/component.cm。 | 
| 馬耳他文 | 1 | 以精確比對元件的整個路徑名稱。 | 
| MONIKER_PREFIX | 2 | 比對任何包含模式做為前置字元的元件路徑名稱。 | 
| MONIKER_SUFFIX | 3 | 比對任何包含模式做為後置字串的元件路徑名稱。 | 
MinidumpError 彈性
類型:uint32
在 fuchsia.debugger/debug_agent.fidl 中定義
| 名稱 | 值 | 說明 | 
|---|---|---|
| NO_PROCESSES | 1 | 未對疊代器產生任何程序。這可能表示 提供的篩選器不符合任何附加程序,或者 DebugAgent 未附加至任何處理程序。 | 
| INTERNAL_ERROR | 2 | 產生迷你傾印時發生錯誤。這些錯誤是不透明的 並上傳至 DebugAgent | 
ProcessInfoError 彈性
類型:uint32
在 fuchsia.debugger/debug_agent.fidl 中定義
| 名稱 | 值 | 說明 | 
|---|---|---|
| NO_PROCESSES | 1 | 沒有任何附加程序可進行疊代。 | 
| PROCESS_GONE | 2 | 程序導致疊代器無效。 | 
| THREAD_GONE | 3 | 程序的執行緒已經變更,導致疊代器無效。 | 
資料表
DebugAgentOnFatalExceptionRequest
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | thread | zx/Koid | 錯誤執行緒的 Kid。 | 
| 2 | backtrace | string | 錯誤執行緒中的堆疊追蹤 (採用符號化工具標記格式)。 | 
FilterOptions
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | recursive | bool | 是否要同時比對比對項目中的所有子元件 每個元件的領域設為 true 時,相符元件的完整路徑名稱 假設為領域的根,所有子項元件 會在這個領域中啟動 | 
GetProcessInfoOptions
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | filter | Filter | 篩選器可減少疊代的程序數量 。這項操作不會安裝任何新篩選器,也不會產生新的篩選器 附加程序這個篩選器會套用到 如果在附加程序上 來處理目前附加的處理程序 | 
| 2 | interest | ThreadDetailsInterest | 客戶應指定想取得的資料 透過疊代器產生系統會假設所有未指定的欄位為 false。如需可能資料的說明,請參閱 ThreadDetails 興趣。 | 
MinidumpOptions
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | filter | Filter | 這項操作不會安裝任何新篩選器,也不會產生新的程序 。而是將這個篩選器套用至已附加的篩選器 作業。 | 
ThreadDetails
在 fuchsia.debugger/debug_agent.fidl 中定義
特定執行緒的詳細資料。這些欄位將按照 透過以下方式建立 ProcessInfoIterator 時提供的 ThreadDetailsInterest 網路 |GetProcessInfo|。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | backtrace | string | 目前執行緒的堆疊追蹤,採用符號化工具標記格式。 | 
ThreadDetailsInterest
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | backtrace | bool | 針對每個執行緒,以符號化工具標記格式產生返回追蹤。 如果未指定,就不會在 ProcessInfoIterator 產生的 ThreadDetails。 | 
聯合國
DebugAgent_AttachTo_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | DebugAgent_AttachTo_Response | |
| 2 | err | FilterError | |
| 3 | framework_err | internal | 
DebugAgent_Connect_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | DebugAgent_Connect_Response | |
| 2 | err | zx/Status | |
| 3 | framework_err | internal | 
DebugAgent_GetMinidumps_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | DebugAgent_GetMinidumps_Response | |
| 2 | err | FilterError | |
| 3 | framework_err | internal | 
DebugAgent_GetProcessInfo_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | DebugAgent_GetProcessInfo_Response | |
| 2 | err | FilterError | |
| 3 | framework_err | internal | 
Launcher_Launch_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | Launcher_Launch_Response | |
| 2 | err | zx/Status | |
| 3 | framework_err | internal | 
MinidumpIterator_GetNext_Result 嚴格 資源
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | MinidumpIterator_GetNext_Response | |
| 2 | err | MinidumpError | 
ProcessInfoIterator_GetNext_Result 嚴格
在 fuchsia.debugger/debug_agent.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | response | ProcessInfoIterator_GetNext_Response | |
| 2 | err | ProcessInfoError |