在macos上查看当前进程的栈信息

概述

在调试程序时,如cpu莫名的高或低,一个常用的方式就是打印当前进行的调用栈,然后确认各线程的执行函数是否有异常。

在linux系统中可以使用pstack命令,直接打印各线程的栈信息,可惜在macos上没有该命令。一种解决方式就是将代码迁移到linux平台上进行debug(事实上笔者也是这么做的,因为linux平台有很多熟悉的工具),但代码迁移存在成本(系统函数版本不一致),macos上的系统文件版本和linux平台上大概率是不同的。

因此比较直接的方式还是找到代替pstack的mac版本,也是本文介绍的方法。

具体做法

step1:打开mac本自带的程序"活动监视器"

step2: 找到正在调试的进程,如果当前进程太多,可以使用右上角的搜索框辅助

step3: 选中正在调试的进程,点击左上角的"系统诊断选项",在弹出的下拉菜单中点击"取样进程"

step4: 等一段时间后(采样时间,5s左右),会弹出一个分析文件。该文件头部会提示对该进程采样的次数,然后根据采样到的线程栈函数出现次数由高到低显示,主要信息包括线程id和采样次数。

相关推荐
扑火的小飞蛾38 分钟前
【macOS】n8n 安装配置笔记
笔记·macos
TO_ZRG2 小时前
iOS 符号表文件概要
macos·ios·cocoa
默默在路上2 小时前
M芯片使用VMware Fusion安装CentOS Stream 9教程
linux·macos·centos
TheNextByte13 小时前
如何在Mac上收发Android信息 [2026 指南]
android·macos
耘田3 小时前
 macOS Launch Agent 定时任务实践指南
java·开发语言·macos
不爱吃糖的程序媛3 小时前
macOS 系统本地安装 openJiuwen 完整指南
macos
William.csj3 小时前
Mac——一款支持跨平台的与服务器之间的远程传输工具 FileZilla
macos·filezilla
Nightmare00420 小时前
Mac打开终端
macos
亚里随笔1 天前
vscode mac常用技巧—快捷键
ide·vscode·macos
Nightmare0041 天前
Mac 安装brew
大数据·macos