熟悉 Fuchsia 偵錯工具的基本功能後, zxdb,您可能需要:
偵錯當機傾印檔
Zxdb 支援載入當機報告產生的小型轉儲。
您可以使用 ffx debug core
載入當機報告,例如:
ffx debug core <var>crash_dump_file</var>
下載符號
Zxdb 會自動搜尋 符號索引:表示在任何符號中都沒有的符號 本機設定的符號目錄可以看到 請使用以下指令,在您的符號索引中註冊的伺服器:
ffx debug symbol-index list -a
以遞迴方式掃遍並解析所有包含 的值。若需更多資訊,請參閱: 關於符號設定。
顯示的伺服器可用來下載符號檔案,並載入
非同步更新偵錯工具針對特別大型的偵錯資訊檔案,您可以
您會在 zxdb 中看到 sym-stat
的輸出,如下所示:
[zxdb] sym-stat
...
Base: 0xc37e9000
Build ID: ba17ef8c43bccf5fb6bf84f9a8d83d9cf3be8976 (Downloading...)
Symbols loaded: No
...
這表示正在下載。檔案下載完成後 zxdb 會為新下載檔案的符號建立索引, 繼續。
附加至現有程序
在多數情況下,除非您已 自動執行 zxdb 工作流程如果使用沒有自動化功能的 zxdb 應將 zxdb 附加至元件 ID,請參閱執行 zxdb 一文。
您可附加至大多數執行中的處理程序,前提是程序的 Kid (
核心物件 ID)。zxdb 提供 ps
指令,即可查看
在 Fuchsia 裝置或模擬器上執行的程序。
在嘗試執行 ps
之前,請確認您已將 zxdb 附加至元件。
至少連接 Fuchsia 裝置:
舉例來說,如要連線至 core/starnix_runner
元件:
ffx component debug core/starnix_runner
連結偵錯工具後,即可執行 ps
查看
Fuchsia 裝置或模擬器上運作中的程序:
[zxdb] ps
j: 1033 root
p: 1102 bin/component_manager
j: 1662
j: 1811 bootstrap/console fuchsia-boot:///console#meta/console.cm
p: 1845 console.cm
...
j: 66524 core/starnix_runner fuchsia-pkg://fuchsia.com/starnix#meta/starnix_runner.cm
▶ p: 66562 starnix_runner.cm
j: 66763
j: 66764 core/starnix_runner/kernels:RW3JlbU starnix_kernel#meta/starnix_kernel.cm
p: 66797 starnix_kernel.cm
p: 67333 init
j: 88021
p: 88084 debug_agent.cm
j: 4227 zircon-shell
p: 4608 sh:console
從上方的輸出內容中:
j
表示一個容器工作。 來處理程序。p
表示程序。
工作或程序後面的數字就是物件的 KOID。然後,你可以執行以下操作:
附加至特定程序
您可以透過 zxdb 控制台附加至特定程序。例如:
可附加至 starnix_kernel.cm
程序,其中 KOID 為 66797
:
[zxdb] attach 66797
Attached Process 2 state=Running koid=66797 name=starnix_kernel.cm component=starnix_kernel.cm
Loading 15 modules for starnix_kernel.cm ....
[zxdb]
附加至特定工作中的所有程序
您可以透過 zxdb 控制台,附加至項目中的所有程序
工作。舉例來說,如要附加至 core/starnix_kernels:RW3JlbU
工作,
或 KOID 為 66764
:
[zxdb] attach -j 66764
Waiting for process matching "job 66764".
Type "filter" to see the current filters.
Attached Process 2 state=Running koid=66797 name=starnix_kernel.cm component=starnix_kernel.cm
Attached Process 3 state=Running koid=67333 name=init component=starnix_kernel.cm
Loading 15 modules for starnix_kernel.cm .....Done.
Loading 17 modules for init Done.
附加至工作中的特定程序
您可以透過 zxdb 控制台附加至特定程序,
工作。舉例來說,如要附加至 starnix_kernel.cm
程序,
KOID 為 66764
的工作:
[zxdb] attach -j 66764 starnix_kernel.cm
Waiting for process matching "starnix_kernel.cm".
Type "filter" to see the current filters.
Attached Process 2 state=Running koid=66797 name=starnix_kernel.cm component=starnix_kernel.cm
Attached Process 3 state=Running koid=67333 name=init component=starnix_kernel.cm
Loading 15 modules for starnix_kernel.cm .....Done.
Loading 17 modules for init Done.
[zxdb]