linux查看jvm堆栈信息_linux查看线程堆栈

linux查看jvm堆栈信息_linux查看线程堆栈pstack在linux上是一个非常有用的工具,可以查看进程内部调用函数的信息。可惜的是在ubuntu10.10版本中没有找到这个工具。无奈,只能下载尝试编译了。首先安装编译环境,使用如下命令:apt-getinstallbuild-essential#编译所需环境apt-getinstalldpkg-dev#dpkg编译所需环境apt-getbuild-deppstack…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

pstack在linux上是一个非常有用的工具,可以查看进程内部调用函数的信息。可惜的是在ubuntu10.10版本中没有找到这个工具。无奈,只能下载尝试编译了。

首先安装编译环境,使用如下命令:

apt-get install build-essential #编译所需环境

apt-get install dpkg-dev #dpkg编译所需环境

apt-get build-dep pstack #解决源码编译的依赖问题

接着下载pstack的源码,可见是蛮老的了。

apt-get source pstack #生成如下信息

=======================

下载 16.5kB,耗时 0秒 (189kB/s)

gpgv: 于 2004年10月09日 星期六 02时00分15秒 CST 创建的签名,使用 DSA,钥匙号 AB474598

gpgv: 无法检查签名:找不到公钥

dpkg-source: 警告: 对 ./pstack_1.2-1.dsc 校验签名失败

dpkg-source: info: extracting pstack in pstack-1.2

dpkg-source: info: unpacking pstack_1.2.orig.tar.gz

dpkg-source: info: applying pstack_1.2-1.diff.gz

dpkg-source: info: upstream files that have been modified:

pstack-1.2/pstack.c

编译安装报错:

make

pstack.c:544: error: ‘EIP’ undeclared (first use in this function)

pstack.c:544: error: (Each undeclared identifier is reported only once

pstack.c:544: error: for each function it appears in.)

pstack.c:546: error: ‘EBP’ undeclared (first use in this function)

网上有不少解决这个办法的文章,但是我发现没有用。于是乎,自己找到了 EIP 和 EBP 的宏定义,直接将数值写了进去。再次编译,通过。接着安装,同样的报错:www.it165.net

root@test:/home/leon/project/pstack/pstack-1.2# make install

mkdir -p

mkdir: 缺少操作数

请尝试执行”mkdir –help”来获取更多信息。

make: *** [install] 错误 1

打开Makefile一看,BINDIR 和 MANDIR 根本就没有定义。这是有多不靠谱啊。。。。自己定义一下:

BINDIR = /usr/bin

MANDIR = /usr/share/man

再次安装,通过。使用man pstack也可以看到信息。但是悲催的又来了,当我调试一个进程的时候,发现报错信息:

only 32 bit objects supported.

打开源代码一看,人家明白的写着只支持32位系统。

27 /* RESTRICTIONS:

28

29 pstack currently works only on Linux, only on an x86 machine running

30 32 bit ELF binaries (64 bit not supported). Also, for symbolic

31 information, you need to use a GNU compiler to generate your

32 program, and you can’t strip symbols from the binaries. For thread

33 information to be dumped, you have to use the debug-aware version

34 of libpthread.so. (To check, run ‘nm’ on your libpthread.so, and

35 make sure that the symbol “__pthread_threads_debug” is defined.)

36 */

算了,我不折腾了。各位看官若有pstack的最新代码,烦请通知博主一声。谢过!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193841.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月17日 下午4:22
下一篇 2025年11月17日 下午5:01


相关推荐

  • 小苏打俗称碳酸氢钠_碳酸氢钠俗称苏打还是小苏打

    小苏打俗称碳酸氢钠_碳酸氢钠俗称苏打还是小苏打小苏打介绍(化学方面叫碳酸氢钠) CAS:144-55-8  分子式:NaHCO3  分子量:84.01  中文名称:碳酸氢钠重碳酸钠小苏打酸式碳酸钠重曹  英文名称:Car

    2022年8月6日
    14
  • javaScript动态添加Li元素「建议收藏」

    javaScript动态添加Li元素「建议收藏」html代码块**javaScript动态添加Li元素**ulli{list-style:none;display:block;text-align

    2022年6月22日
    82
  • LZW压缩算法

    LZW压缩算法1 LZW 压缩适用的场景 nbsp nbsp nbsp 对于有大量重复出现的字符或者字符串 可以将重复出现的多个串用一个字符表示 并写进文件 比如可以压缩这个字符串 TOBEORNOTTOB 这个字符串中出现了大量的 TO BE OR NOT 等等字符 我们就可以将这些重复出现的字符压缩写进文件 这里只是说明算法 并没有涉及写进文件的操作 2 压缩和解压缩的原理 1 压缩 这

    2026年3月17日
    1
  • 树莓派3B安装Ubuntu 18.04

    树莓派3B安装Ubuntu 18.04树莓派3B安装Ubuntu18.04这里展示的是使用显示器的方法,不用ssh树莓派3b安装Ubuntu18.04完全遵照的Ubuntuwiki中的步骤。(1)下载并写入下载Ubuntu18.04LTS镜像文件:https://wiki.ubuntu.com/ARM/RaspberryPi,下载完后解压:ubuntu-18.04-preinstalled-server-armhf+…

    2022年6月25日
    55
  • .net cms开源_最大的开源代码网站

    .net cms开源_最大的开源代码网站地址:http://sourceforge.net/projects/cmsaspnet/?source=directory

    2022年9月29日
    4
  • HttpEntity的用法

    HttpEntity的用法关于 HttpEntity 的用法 HttpEntity 表示 http 的 request 和 resposne 实体 它由消息头和消息体组成 从 HttpEntity 中可以获取 http 请求头和回应头 也可以获取 http 请求体和回应体信息 HttpEntity 的使用 与 RequestBody ResponseBody 类似 HttpEntity 的典型应用是配合 RestTemplate 在微服务项目中的应用 参见 API 示例 用户登录示例 步骤一 在 login jsp 发送 ajax 请求 发送之前添加请求头信息

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号