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

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

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

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

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

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

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

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


好了,就介绍到这里,其他指令大家可以自行探索和实践。
全部0条评论
快来发表一下你的评论吧 !