Strace的使用
来源:互联网 发布:大数据 hadoop 编辑:程序博客网 时间:2024/05/22 13:24
- Strace的使用
- 追踪线程PID
- 追踪程序
- 过滤futex调用
- 其他实用选项
- linux平台编译strace源码
Strace的使用
Strace诊断
命令
strace -p
strace -cp
strace用于追踪系统调用和信号量.在调试时,strace是一个可以采集上下文的实用工具.
1.strace PTRACE_TRACEME EPERM (Operation not permitted)
你应该以root权限运行strace,如果你收到这条消息,这意味着在你当前系统上不允许绑定进程.
解决办法:
1.sudo bash -c ‘echo 0 > /proc/sys/kernel/yama/ptrace_scope’
2.检查文件/etc/sysctl.d/10-ptrace.conf,将其权限改为可读
3.kernel.yama.ptrace_scope = 0
如果没有那个文件
打开/etc/sysctl/conf,查找设置kernrl.yama.ptrace_scope 存在将其值设为0,如果不支持添加一行kernel.yama.ptrace_scope = 0
追踪线程PID
- 追踪进程
$ strace -p [pid] - 追踪进程和线程
$ strace -fp [pid] - 追踪进程和限定字符
$ strace -s 80 -fp [pid]
追踪程序
$ strace -s 80 -f ./program
过滤futex调用
1.只是过滤futex
strace -Tf ./program 2>&1 | grep -v futex
2.过滤多个系统调用 strace -Tfe strace=open,read,write ./program
其他实用选项
-f 线程号
-T 添加打印时间
-t 打印时间
-s [size] 指定显示长度
-e strace=open,close 只追踪open和close系统调用.
linux平台编译strace源码.
1.下载strace-4.19.tar.xz
2.解压,对于ARM平台,需要打补丁,暂时没有遇见过
3.配置 ./configure –host=arm-linux CC=arm_v5t_le-gcc LD=arm_v5t_le-ld
4.编译 make CFLAGS+=”-static”
5.strip arm_v5t_le-strip
- Strace的使用
- STRACE命令的使用
- Strace的使用
- linux strace 工具的使用
- linux strace 工具的使用
- strace使用
- 使用strace看samba读取的文件
- 使用strace,ltrace调试工具的乐趣
- Linux下使用strace的例子
- linux中的strace|pstack工具的使用
- 使用strace追踪程序的系统调用
- Linux下使用strace命令来跟踪.htaccess的使用
- Linux下使用strace命令来跟踪.htaccess的使用
- 使用strace,不再雾里看花
- strace使用详解
- 使用 Strace 调试工具
- strace使用详解
- Linux strace使用
- Linux下如何切换到root用户
- 深入浅出Java三大框架SSH与MVC的设计模式
- 问题和练习:面向对象的概念
- 把项目放到码云上,通过git 进行项目管理
- CentOS7系统zabbix 监控中心搭建
- Strace的使用
- Hibernate和Spring整合的时候出现问题,注入Action出错
- 手写体数字识别(三) 制作训练集
- ELK-003-Beats-Filebeat的工作原理
- oneNote2016代码高亮
- Git fetch和git pull的区别
- java基础复习2(面向对象 三大特征 内存机制)
- PyCharm创建新的Python文件时设置默认信息
- a,b,c,d,e,f六个字母可以构成多少没有重复的字符串。