今天给大家分享一个linux内核自带的调试工具,该工具可用于查看和定位系统问题,进程运行过程探索,进行进程监控,对每个系统调用都可以监测,有助于我们优化系统性能。
话不多说,本文调试过程基于android10内核4.19版本。
strace ls
执行命令时,它会显示ls命令在运行过程中所进行的所有系统调用及其相关参数和返回值:

strace -h
执行该命令时,会列出strace的用法和相关的解释:

我们在使用的时候应该是对某个进程和服务进行定位和监控,在调试的时候先大致定位是什么功能有问题,针对性去排查。比如我们要检查摄像头功能在执行的过程中有没有问题:

strace-p1944-T
执行该指令显示每个系统调用的执行时间,由该信息,我们可以去判断我们在哪些指令上执行的系统调用花费的时间更长,进而再去定位相关的源代码,在做调试,后期在融入我们自己的代码程序时,也可以通过这样的方式进行调试:

strace-p1944-c
执行该指令会统计每个系统调用的次数、时间消耗等信息,并在程序结束时打印总结报告:

strace -p 1944 -tt
执行该指令,会在每个系统调用前加上时间:

strace -p 1944 -v
执行该指令会获取更多细节:

此外我们还可以把输出结果保存到文本里面,然后pull到电脑上供专业的人分析:


好了,就介绍到这里,其他指令大家可以自行探索和实践。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
内核
+关注
关注
4文章
1481浏览量
43142 -
Linux系统
+关注
关注
4文章
618浏览量
30237 -
调试工具
+关注
关注
1文章
59浏览量
13053
发布评论请先 登录
相关推荐
热点推荐
自助Linux之问题诊断工具strace
通过系统调用(system call)与操作系统产生交互,其实我们可以通过观察这些系统调用及其参数、返回值,界定出错的范围,甚至找出问题出现的根因。在Linux中,
发表于 02-21 10:13
介绍Lauterbach调试工具的应用
该演示由Lauterbach中国团队提供,展现您如何通过Lauterbach强大的嵌入式调试工具Trace32来调试和分析运行在Altera Cyclone V SoC芯片上面的软件。Lauterbach调试工具支持几乎所有操作
初学GDB调试工具需要注意的事项
GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。相比于VS里面的图形化调试工具,其功能更加强大。
发表于 05-16 17:45
•2379次阅读
调试工具:Eclipse调试工具栏与窗口的深入分析
摘要 :在嵌入式系统开发领域,高效的调试工具链对于项目的成功实施具有决定性意义。本文聚焦于 Eclipse 调试工具栏与窗口的功能特性,深入剖析其在嵌入式开发调试过程中的关键作用。以厦
Linux系统性能优化与调试的思路
在开发过程中,对系统性能的要求越来越高,在求职的过程中很多岗位不单单是要求驱动开发或者系统开发,会解决系统性能瓶颈问题,往往是加分项,有些公司特别是大厂都会把性能优化单独划分一个岗位。
Linux系统性能调试工具—strace
评论