首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
路由器
server
stdout
kubectl
crontab
sudo
docker
awk
交换机
k8s
容器
zsh
dns
tomcat
centos
debian
port
linux
压力测试
apache
4层
ftp
service
sftp
log4j
grafana
syslog
ubuntu
tengine
grep
nginx
touch
负载均衡
unix
cron
jenkins
fabric
colors
shell
devops
服务器
ssh
7层
运维
vagrant
centos7
当前位置:
开发笔记
>
运维
> 正文
linux命令之调试工具strace的深入分析
作者:岸本瑠可的秘密_344 | 来源:互联网 | 2022-10-02 18:14
本篇文章是对调试工具strace的使用进行了详细的分析介绍,需要的朋友参考下
参考
1《linux的strace命令(详解).txt》 新浪电子书可下载
2man strace
一个基本上通用的 完整的用法:
strace -o output.txt -T -tt -e trace=all -p 28979
上面的含义是 跟踪28979进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件里面。
必须记住的几个用法
1)strace -p pid 可以跟踪某个后台进程
2)strace -o filename 把跟踪结果输出到文件
3)strace -T 记录每个系统调用花费的时间,可以看看哪个系统调用时间长
4)strace -t (或者 -tt)记录每个系统调用发生是的时间(时分秒的格式)
5)strace -s 1024 显示系统调用参数时,对于字符串显示的长度, 默认是32,如果字符串参数很长,很多信息显示不出来。
6)strace -e trace=nanosleep 只记录相关的系统调用信息。
-e trace=network // 只记录和网络api相关的系统调用
-e trace=file // 只记录涉及到文件名的系统调用
-e trace=desc // 只记录涉及到文件句柄的系统调用
还有其他的包括process,ipc,signal等。
一个经典的,通过strace查看一个进程所有相关打开文件的排查过程,参考《linux的strace命令(详解).txt》 新浪电子书可下载
如果开发程序没有一个强大的工具相伴,那么开发效率会非常低,甚至遇到问题无从下手. 现在开始学习linux下的强大的调试工具strace,并记录于此.
strace
1)类似于windows下的processexp.exe
可以监控系统调用
2)类似于windows下的depand工具
可以检查程序的依赖库. 比linux下的ldd更强大.
参考:strace命令用法
点击下载
案例:
strace帮助我解决不知日志文件被打印到哪的问题.
用strace跟踪server
/usr/bin/strace -p pid -o out.file
然后执行client端,然后结束strace,查看out.file 搜索write,open的系统调用
linux
windows
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
linux
C语言中如何使用beep函数及音调控制
本文介绍了如何在Linux和Windows环境中使用C语言中的beep函数来生成不同频率的声音,并提供了详细的代码示例和解释。 ...
[详细]
蜡笔小新 2024-11-15 16:15:36
linux
从零开始编译Linux系统:第16章 全新起点
本章将详细介绍如何从零开始编译一套完整的Linux系统,涵盖关键组件如glibc库的介绍及其重要性。通过本文,读者将了解从源代码构建Linux系统的全过程。 ...
[详细]
蜡笔小新 2024-11-15 18:45:01
service
.NET Core 微服务内部通信:Thrift与HTTP客户端性能对比
本文通过基准测试(Benchmark)对.NET Core环境下Thrift和HTTP客户端的微服务通信性能进行对比分析。基准测试是一种评估系统或组件性能的方法,通过运行一系列标准化的测试来衡量其表现。 ...
[详细]
蜡笔小新 2024-11-15 12:35:23
service
面试题总结_2019年全网最热门的123个Java并发面试题总结
面试题总结_2019年全网最热门的123个Java并发面试题总结 ...
[详细]
蜡笔小新 2024-11-15 11:58:13
grep
如何重置MySQL服务器密码
本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ...
[详细]
蜡笔小新 2024-11-15 09:54:51
apache
如何查看PHP网站及其源码
本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ...
[详细]
蜡笔小新 2024-11-14 21:51:01
apache
解决Win10高分辨率屏幕字体模糊问题的方法
本文介绍了如何解决Win10高分辨率屏幕下字体缩放模糊的问题,包括系统设置、软件自定义DPI、系统字体调整以及使用.manifest文件等方法。 ...
[详细]
蜡笔小新 2024-11-15 17:41:53
apache
JavaSE For循环入门示例
本文将介绍Java中For循环的基本概念和使用方法,通过几个简单的示例帮助初学者更好地理解和掌握For循环。 ...
[详细]
蜡笔小新 2024-11-15 17:10:57
apache
解决Windows 7缺少运行命令的问题
本文提供了多种方法帮助您在Windows 7系统中快速找到并启用运行命令。 ...
[详细]
蜡笔小新 2024-11-15 17:03:35
server
如何解决Windows 10桌面频繁自动刷新的问题
本文介绍了几种有效的方法来解决Windows 10桌面频繁自动刷新的问题,包括更新安全软件、修改注册表和重启计算机。 ...
[详细]
蜡笔小新 2024-11-15 16:56:40
server
四、作为您的 VCS 的 GitHub
四、作为您的 VCS 的 GitHub ...
[详细]
蜡笔小新 2024-11-15 16:48:49
server
SvpplyTable: 实现可扩展和可折叠的菜单动画
SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ...
[详细]
蜡笔小新 2024-11-15 15:27:31
server
CSS3 动画效果:35款SVG图标加载动画
本文介绍了一种使用CSS3和jQuery实现的35款SVG图标加载动画。这些动画不仅视觉效果出色,还能提升用户体验。通过本文,您可以了解如何在项目中应用这些动画。 ...
[详细]
蜡笔小新 2024-11-15 15:01:02
port
OpenGLPBO
PBO(PixelBufferObject),将像素数据存储在显存中。优点:1、快速的像素数据传递,它采用了一种叫DMA(DirectM ...
[详细]
蜡笔小新 2024-11-15 14:56:34
server
解决Win7安装SQL Server时NetFx3启动失败的问题
在使用Win7系统安装SQL Server时,部分用户可能会遇到“启动Windows功能NetFx3时出错”的提示。本文将详细介绍这一问题的原因及解决方法。 ...
[详细]
蜡笔小新 2024-11-15 14:37:26
岸本瑠可的秘密_344
这个家伙很懒,什么也没留下!
Tags | 热门标签
路由器
server
stdout
kubectl
crontab
sudo
docker
awk
交换机
k8s
容器
zsh
dns
tomcat
centos
debian
port
linux
压力测试
apache
4层
ftp
service
sftp
log4j
grafana
syslog
ubuntu
tengine
grep
RankList | 热门文章
1
HI3515海思开发板移植3G模块笔记
2
oracle p,Oracle p9966926
3
exe 导出函数 供插件使用
4
计算机组成原理块地址,计算机组成原理1.在cache的地址映射中,若主存中的任意一块均可映射到cache内的任意一块的位置上,则这种方法称为_...
5
centos7怎么查看mysql密码_centos7忘记mysql密码
6
Android底层音视频播放媒体提取器【MediaExtractor】的解复用模块demuxers模块化加载和注册流程实现源码分析【Part 2】
7
MybatisPlus入门系列(13) MybatisPlus之自定义ID生成器
8
linux编译mesa,mesa3d 安装和配置
9
NYOJ306 走迷宫(dfs+二分搜索)
10
Tensorflow 训练自己的cnn模型 行人识别
11
MySQL数据库:java项目实战章节测试答案
12
动态网站离线缓存方案
13
开篇记(好记性不如烂笔头)
14
开发笔记:Spark Java API 之 CountVectorizer
15
在centos上设置计划任务
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有