博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
strace跟踪线程调用
阅读量:6855 次
发布时间:2019-06-26

本文共 417 字,大约阅读时间需要 1 分钟。

方法一:

strace -fp pid , 可以跟踪所有线程, 进程的系统调用。

  1. [root@xxxx]strace -p 24091
  2. Process xxx attached - interrupt to quit
  3. [ Process PID=24091 runs in 32 bit mode. ]
  4. futex(0xc5bbbd8, FUTEX_WAIT, 24215 NULL
复制代码

你的问题不是strace不能跟踪,而是你的线程锁住了。 futex应该是内核里对pthread_mutex_lock实现的一个函数。

方法二(本质同方法一,但更明了):
pstree -p pid 可以查看多线程程序的进程树。
在针对各个线程,逐个的strace -p pid
最后
man pstack
pstack - print a stack trace of a running process
相当于gdb内的bt,打出栈信息。

转载地址:http://cejyl.baihongyu.com/

你可能感兴趣的文章
docker port 2376
查看>>
为什么你应该从现在起就写博文
查看>>
server2008实验之四 文件服务器配置磁盘配额和卷影副本
查看>>
linux中进程和计划任务的管理(二)命令补充
查看>>
一体台式机时代来了,传统PC该终结了
查看>>
[置顶] Java集群优化——dubbo+zookeeper构建高可用分布式集群
查看>>
史上最全体检表、检验报告解析
查看>>
UI设计师不可不知的安卓屏幕知识
查看>>
Linux 进程的三种状态
查看>>
inux上网
查看>>
Delphi XE2 之 FireMonkey 入门(8) - TImage
查看>>
心里烦 发泄一下
查看>>
Android adb工具
查看>>
WindowsServer 2008 AD搭建FTP隔离用户
查看>>
学点 C 语言(37): 函数 - 常量(const)参数
查看>>
Ubuntu MongoDB可视化工具robo3t安装,解决could not find xcb问题
查看>>
e2label
查看>>
负载均衡(LVS)DR+(HA)heartbeat主备模式配置案例
查看>>
Windows 下安装和部署MinDoc
查看>>
CentOS 7部署OpenStack(6)—部署Newtron(控制节点)
查看>>