zx_debug_read

摘要

讀取偵錯序列埠的訊息。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_debug_read(zx_handle_t handle,
                          char* buffer,
                          size_t buffer_size,
                          size_t* actual);

說明

zx_debug_read() 會嘗試讀取偵錯序列埠中的資料。buffer_size 參數指定讀取緩衝區的位元組大小。「buffer」的長度 (以位元組為單位) 會儲存在「實際」指向的位置。

此函式會等待至少 1 個位元組可用,才會傳回。這最多可傳回 buffer_size 個位元組。

NOTE: 資料只有一個緩衝區來自偵錯序列,呼叫 zx_debug_read 會使用這些資料。如果多個程式一次呼叫此內容,每個程式都會收到資料串流的內容。

如要使用 zx_debug_read() 函式,您必須在核心指令列中指定 kernel.enable-serial-syscalls=true。否則,函式會傳回 ZX_ERR_NOT_SUPPORTED

權限

handle 必須具備以 ZX_RSRC_SYSTEM_DEBUG_BASE 為基準的資源種類 ZX_RSRC_KIND_SYSTEM

傳回值

成功時傳回 ZX_OKbuffer 指向的位置包含已讀取的實際位元組。

錯誤

核心指令列中的 ZX_ERR_NOT_SUPPORTED kernel.enable-serial-syscalls 未設為 true

ZX_ERR_INVALID_ARGS 緩衝區實際為空值。

另請參閱