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的最新代码,烦请通知博主一声。谢过!

pstack 安装linux_linux下的进程堆栈查看工具pstack相关推荐

  1. pstack 安装linux_linux下跟踪进程调用栈strace pstack gstack

    pstack PID gstack PID top -H -p PID 引子: 1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK ...

  2. pstack 安装linux_Linux下pstack的实现

    Linux下有时候我们需要知道一个进程在做什么,比如说程序不正常的时候,他到底在干吗?最直接的方法就是打印出他所有线程的调用栈,这样我们从栈再配合程序代码就知道程序在干吗了. Linux下这个工具叫做 ...

  3. linux gstack pstack 进程运行堆栈查看工具

    pstack的作用 1). 查看线程数(比pstree, 包含了详细的堆栈信息) 2). 能简单验证是否按照预定的调用顺序/调用栈执行 3). 采用高频率多次采样使用时, 能发现程序当前的阻塞在哪里, ...

  4. Linux下多线程堆栈查看工具(pstree、ps、pstack)

    原文:http://blog.csdn.net/yfkiss/article/details/6729364 1. pstree pstree以树结构显示进程 $ pstree -p work | g ...

  5. mysql 一键安装 linux_linux下mysql8 shell脚本一键安装

    1:下载mysql8文件 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-el7-x86_64.tar.gz 2:新建一个my.cnf文 ...

  6. mysql 5.6安装 linux_linux下MySQL5.6安装记录

    MySQL下载地址: ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/ http://mirrors.sohu.com/mysql/ 1 ...

  7. php rewrite模块安装,Linux_Linux下Apache安装/增加mod_rewrite模块,如果你的服务器apache还没有安 - phpStudy...

    Linux下Apache安装/增加mod_rewrite模块 如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在http:/ ...

  8. kali kda安装 linux_Linux下添加打印机【解决HP系列驱动问题】

    很多HP打印机Linux下驱动不完善,例如1020... 用apt install hplip解决不了问题,下面参考http://foo2zjs.rkkda.com/,提供一个解决办法 安装驱动 # ...

  9. Linux下根据进程ID查看进程文件的路径

    1.执行命令:pwdx  PID 命令,就得到进程jar包所在的位置 2.执行命令:ll /proc/PID/cwd 命令,也能得到进程jar包所在的位置 https://blog.csdn.net/ ...

最新文章

  1. 定义主程序matlab,MATLAB 主程序和子程序之间的问题 子程序出错
  2. OKR能够为企业带来什么价值?如何正确制定OKR?
  3. Office 2007 文件扩展名类型
  4. sort函数_MATLAB--数字图像处理 sort()函数
  5. 入门云数据库Redis,满足你的高读写性能场景需求
  6. File Hunter for mac - 丢失文件查找AE脚本
  7. 服务器iis配置 所需文件,iis服务器配置手册.pdf
  8. 运行的程序暂停_黄岩人注意!2天后,这项重要业务系统将暂停运行!
  9. (转)韩同利:明年A股会有一个牛市
  10. centos php solr 安装,centos下安装配置solr全纪录
  11. 华为支付试水!移动支付会打破支付宝、微信双寡头的格局吗?
  12. 7.1编辑shapefile文件
  13. 推荐视频反馈系统设计
  14. Java——Session使用
  15. ARDUINO LCD显示简单的汉字、符号(保姆级教程!)
  16. 3dmax如何删除重叠部分
  17. Echarts模板(五):树状图
  18. if condition 大于_「函数-基础篇」IF函数的应用
  19. 手机模拟器或手机设置代理服务器,以及手动设置的代理ip无法保存的问题解决
  20. git常用操作以及码云Gitee连接git

热门文章

  1. 硬件结构框架_北桥_带宽
  2. Ubuntu安装VMware Tools后不起作用
  3. Vue3动态引入Element-plus icon图标
  4. 白话数字签名(2)——软件设备
  5. ppt中只有声音没有图像处理
  6. Mac系统原生支持NTFS格式硬盘
  7. Python入门习题大全——猫和狗
  8. 220817笔试(速腾聚创)
  9. 下载b站外挂字幕,用 potplayer 播放视频也能看字幕了
  10. 拭心过滤器第 1 期:五月精选文章