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

这篇具有很好参考价值的文章主要介绍了在macos上查看当前进程的栈信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

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

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

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

具体做法

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

在macos上查看当前进程的栈信息,操作系统,线上问题分析,macos

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

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

在macos上查看当前进程的栈信息,操作系统,线上问题分析,macos

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

在macos上查看当前进程的栈信息,操作系统,线上问题分析,macos文章来源地址https://www.toymoban.com/news/detail-790738.html

到了这里,关于在macos上查看当前进程的栈信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux查看系统版本、内核信息、操作系统类型版本

    1. 使用 `uname` 命令:这将显示完整的内核版本信息,包括内核版本号、主机名、操作系统类型等。 2. 使用 `lsb_release` 命令(仅适用于支持 LSB(Linux Standard Base)的发行版):这将显示包含发行版名称、版本号和其他详细信息的 Linux 发行版信息。  3. 使用 `/etc/os-release` 文件:

    2024年02月08日
    浏览(69)
  • HDU 操作系统实验二 -设计一个系统调用,返回指定进程的相关时间信息

    目录 一、实验思路 二、准备工作——Linux内核编译步骤 1.实验环境配置 2.下载内核源码 3.解压缩内核源码文件 4.清除残留的.config和.o文件 5.配置内核 6.编译内核,生成启动映像文件 7.编译模块 8.安装内核 9.配置grub引导程序 10.重启系统 三、设计系统调用,返回指定进程的相关

    2024年02月03日
    浏览(43)
  • Linux :: 内容过滤指令【3】:grep 指令【详解】:在指定文件中过滤搜索信息、(模糊)查找包含指定字符串的内容!(如:系统故障时,查看操作日志信息等情景)

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 注:find 指令常与 grep 指令在面试中被提及,需让你回答异同! 目录索引: 1. 基本语法、功能及使

    2024年02月09日
    浏览(61)
  • MacOS怎么查看进程占用内存是多少

    在Linux下可以使用 free 命令来方便的查看内存占用情况,如 free -g、free -m等,但MacOS下没有这个命令。 既然如此,那么MacOS里是否有类似的工具呢? 而我们又该如何查看整个PC的内存占用情况,及指定进程的内存占用情况呢? 别急,带着这些疑问请往下看: 1、通过 top 命令来

    2024年02月17日
    浏览(47)
  • MacOS终端下查看进程和端口号,以及结束该进程的指令

    查看进程和端口号: 该命令将列出所有当前正在监听的端口和进程。 结束进程: 例如: sudo kill 22433 即可关闭9090端口,之前我就是因为该端口号被占用导致springboot启动累类报错 将[进程ID]替换为要结束的进程的ID,可以使用以下命令查看进程ID: 将[进程名]替换为要查找的进

    2024年02月11日
    浏览(44)
  • Linux如何查看当前占用CPU和内存最多的进程

    查看占用 CPU 最高的前10个进程 查看占用内存(MEM)最高的前10个进程 输入 top 命令,然后按下大写M按照内存MEM排序,按下大写P按照CPU排序

    2024年02月17日
    浏览(53)
  • 前端开发调试技巧:如何在Component下选中当前插件并且查看当前插件信息

    在react开发项目中,在Component下选中组件,然后在控制台输$r 按回车键即可输出该组件信息。例如 $r.props输出该组件的props参数。例子详情见如下截图

    2024年02月07日
    浏览(53)
  • Android 查看当前手机、APP的ABI架构信息

    命令:adb shell \\\"getprop |grep cpu\\\"  命令:adb shell getprop ro.product.cpu.abi     在 data/system/packages.xml 文件中找到自己 app 的相关配置信息,这里有明确指出该去哪里加载 so 文件,以及 app 所运行的 CPU 架构,所以我们可以运行如下命令: adb pull data/system/packages.xml    可能报错 :  

    2024年02月11日
    浏览(69)
  • 聊一下操作系统 macOS 与 Linux

    对于 Windows 操作系统大家都比较熟悉,也常拿它与 Linux 操作系统进行比较,两者之间的差异也很明显。但对于 macOS 和 Linux 的比较不太多,很多人认为它们很相似,因为这两种操作系统 都可以运行 Unix 命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一

    2024年02月12日
    浏览(44)
  • macOS系统下载安装IDEA 操作流程

    目录 第一步 进入官网,选择箭头指向的版本 第二步 下载完成后打开,拖动安装包安装​编辑 第三步 点击\\\"+ project\\\",在JDK下拉框选择\\\"Download JDK\\\" 第四步 下载完成以后,点击右下角的Create按钮。 Other Versions - IntelliJ IDEA 到这里就安装完毕,附一张进入IDEA的截图

    2024年01月18日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包