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 使用手冊。