偵錯工具

新增日期: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|可能包含 來減少 iterator。

新增時間: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」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」

新增時間: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

如何解讀 |圖案|。請參閱「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| 中資訊的執行緒的無尾符號。

無預設
details ThreadDetails

使用 |koid| 的執行緒詳細資料,如 提供給 |GetProcessInfo| 的 ThreadDetailsInterest。

無預設

ProcessInfoIterator_GetNext_Response

fuchsia.debugger/debug_agent.fidl 中定義

欄位類型說明預設
info vector<ProcessInfo> 無預設

ENUMS

FilterError 彈性

類型:uint32

fuchsia.debugger/debug_agent.fidl 中定義

新增時間:HEAD

名稱說明
1

表示篩選器未提供任何模式。

2

未指定 FilterType,或者是這個代理程式的未知類型。

FilterType 彈性

類型:uint8

fuchsia.debugger/debug_agent.fidl 中定義

新增時間:HEAD

名稱說明
0

針對元件的網址 (Sans 雜湊值) 執行完全比對。 例如:模式 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

產生迷你傾印時發生錯誤。這些錯誤是不透明的 並上傳至 DebugAgent

ProcessInfoError 彈性

類型:uint32

fuchsia.debugger/debug_agent.fidl 中定義

新增時間:HEAD

名稱說明
1

沒有任何附加程序可進行疊代。

2

程序導致疊代器無效。

3

程序的執行緒已經變更,導致疊代器無效。

資料表

DebugAgentOnFatalExceptionRequest

fuchsia.debugger/debug_agent.fidl 中定義

Ordinal欄位類型說明
thread zx/Koid

錯誤執行緒的 Kid。

backtrace string

錯誤執行緒中的堆疊追蹤 (採用符號化工具標記格式)。

FilterOptions

fuchsia.debugger/debug_agent.fidl 中定義

新增時間:HEAD

Ordinal欄位類型說明
recursive bool

是否要同時比對比對項目中的所有子元件 每個元件的領域設為 true 時,相符元件的完整路徑名稱 假設為領域的根,所有子項元件 會在這個領域中啟動

GetProcessInfoOptions

fuchsia.debugger/debug_agent.fidl 中定義

新增時間:HEAD

Ordinal欄位類型說明
filter Filter

篩選器可減少疊代的程序數量 。這項操作不會安裝任何新篩選器,也不會產生新的篩選器 附加程序這個篩選器會套用到 如果在附加程序上 來處理目前附加的處理程序

interest ThreadDetailsInterest

客戶應指定想取得的資料 透過疊代器產生系統會假設所有未指定的欄位為 false。如需可能資料的說明,請參閱 ThreadDetails 興趣。

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 中定義

OrdinalVariant類型說明
response DebugAgent_AttachTo_Response
err FilterError
framework_err internal

DebugAgent_Connect_Result 嚴格

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response DebugAgent_Connect_Response
err zx/Status
framework_err internal

DebugAgent_GetMinidumps_Result 嚴格

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response DebugAgent_GetMinidumps_Response
err FilterError
framework_err internal

DebugAgent_GetProcessInfo_Result 嚴格

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response DebugAgent_GetProcessInfo_Response
err FilterError
framework_err internal

Launcher_Launch_Result 嚴格

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response Launcher_Launch_Response
err zx/Status
framework_err internal

MinidumpIterator_GetNext_Result 嚴格 資源

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response MinidumpIterator_GetNext_Response
err MinidumpError

ProcessInfoIterator_GetNext_Result 嚴格

fuchsia.debugger/debug_agent.fidl 中定義

OrdinalVariant類型說明
response ProcessInfoIterator_GetNext_Response
err ProcessInfoError