zx_sampler_attach

摘要

配置线程以定期对其堆栈进行采样并将其写入提供的 IOBuffer。提供的 IOBuffer 必须是 zx_sampler_create 之前返回的 IOBuffer。

声明

#include <zircon/syscalls.h>

zx_status_t zx_sampler_attach(zx_handle_t iobuffer,
                              zx_handle_t thread);

说明

配置线程,使其堆栈定期对其进行采样并写入提供的 IOBuffer。提供的 IOBuffer 必须是先前由 zx_sampler_create 返回的 IOBuffer。抽样的频率和写入策略由调用 zx_sampler_create 时使用的 zx_sampler_config_t 决定。

如果某个线程在会话启动前连接到了该线程,则系统将在该会话启动时对该线程进行采样。或者,如果在会话期间附加了线程,系统会立即开始对其进行采样。

错误

ZX_ERR_BAD_STATE 请求的要进行抽样的 thread 处于无法抽样的状态。它是 ZX_THREAD_STATE_DYING 或 ZX_THREAD_STATE_DEAD。

ZX_ERR_NOT_SUPPORTED 在内核命令行上未将 kernel.enable-debugging-syscalls 设置为 true,或者未将 experimental_thread_sampler_enabled build 参数设置为 true。

ZX_ERR_PERMISION_DENIED - iobuffer 不是 zx_sampler_create 返回的 IOBuffer。- thread 没有 ZX_RIGHT_READ。

另请参阅