当我使用 perf 进行性能分析时,通常这是有效的:
perf record -g -F99 $BINARY_NAME
完成后,命令显示:
[ perf record: Captured and wrote 0.006 MB output.data (37 samples) ]
我可以使用读取捕获的堆栈跟踪perf script
。
但是,我的程序正在执行异步网络,并且如果它连接的服务器处于离线状态(我的程序收到“没有到主机的路由(操作系统错误 113)”,并处理它们,并尝试再次连接。),性能命令无法收集样本:
[ perf record: Captured and wrote 0.006 MB output.data ]
当使用 检查时perf script
,它不会输出任何内容。当服务器在线时,一切正常。
我的程序是用 Rust 编写的本机二进制文件。有什么想法为什么会发生这种情况吗?