啟動 Fuchsia 偵錯工具

ffx debug connect 指令會啟動 Fuchsia 偵錯工具 (稱為 zxdb),以對裝置上的 Fuchsia 元件進行偵錯。

概念

zxdb 是 Fuchsia 本身的偵錯工具,可讓您附加在裝置上執行的 Fuchsia 元件。將元件附加至 zxdb 後,您就可以執行互動式偵錯作業,例如新增中斷點、逐步檢查程式碼,以及檢查元件的堆疊追蹤和變數。

為了讓 zxdb 瞭解及解壓縮 Fuchsia 元件的程式碼,您必須在開發環境中提供該元件的偵錯符號。(如要進一步瞭解偵錯符號,請參閱「註冊偵錯符號」)。

執行 ffx debug connect 指令時,系統會連線至 Fuchsia 裝置,並在主體機器上啟動 zxdb 終端機。在這個終端機中,您可以使用 zxdb 指令,以互動方式對裝置上執行的 Fuchsia 元件進行偵錯。

執行 Fuchsia 偵錯工具

如要啟動 Fuchsia 偵錯工具,請執行下列指令:

ffx debug connect

成功連線至 Fuchsia 裝置後,這個指令會啟動 zxdb 終端機,例如:

$ ffx debug connect
Connecting (use "disconnect" to cancel)...
Connected successfully.
👉 To get started, try "status" or "help".
[zxdb]

zxdb 終端機中,您可以開始執行互動式偵錯作業。以下範例顯示 zxdb 已附加至 memory_monitor 元件,並在元件的 main 函式建立中斷點:

[zxdb] attach memory_monitor.cm
Waiting for process matching "memory_monitor.cm".
Type "filter" to see the current filters.
Attached Process 1 state=Running koid=47467 name=memory_monitor.cm
[zxdb] process
  # State    Koid Name
▶ 1 Running 47467 memory_monitor.cm
[zxdb] break $main
Created Breakpoint 1 @ $main
   48
 ◉ 49 int main(int argc, const char** argv) {
   50   auto command_line = fxl::CommandLineFromArgcArgv(argc, argv);
[zxdb]

如要退出 zxdb 終端機,請輸入 exit 或按下 Ctrl-D

如要進一步瞭解 zxdb 的使用方法和最佳做法,請參閱「zxdb 使用手冊」。