摘要
对线程进行配置,使其堆栈定期进行采样并将其写入提供的 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_NOT_SUPPORTED
kernel.enable-debugging-syscalls
未在内核命令行中设置为 true
,或 experimental_thread_sampler_enabled 构建参数未设置为 true。
ZX_ERR_PERMISION_DENIED
- iobuffer 不是 zx_sampler_create 返回的 IOBuffer。
- thread 不具有 ZX_RIGHT_READ。