Linux中ltrace命令有什么用
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,小编给大家分享一下Linux中ltrace命令有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令lt
千家信息网最后更新 2024年11月26日Linux中ltrace命令有什么用
小编给大家分享一下Linux中ltrace命令有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Linux常用命令ltrace命令 是用来跟踪进程调用库函数的情况。
ltrace
用来跟踪进程调用库函数的情况
语法
ltrace [option ...] [command [arg ...]]
选项
-a 对齐具体某个列的返回值。 -c 计算时间和调用,并在程序退出时打印摘要。 -C 解码低级别名称(内核级)为用户级名称。 -d 打印调试信息。 -e 改变跟踪的事件。 -f 跟踪子进程。 -h 打印帮助信息。 -i 打印指令指针,当库调用时。 -l 只打印某个库中的调用。 -L 不打印库调用。 -n, --indent=NR 对每个调用级别嵌套以NR个空格进行缩进输出。 -o, --output=file 把输出定向到文件。 -p PID 附着在值为PID的进程号上进行ltrace。 -r 打印相对时间戳。 -s STRLEN 设置打印的字符串最大长度。 -S 显示系统调用。 -t, -tt, -ttt 打印绝对时间戳。 -T 输出每个调用过程的时间开销。 -u USERNAME 使用某个用户id或组ID来运行命令。 -V, --version 打印版本信息,然后退出。 -x NAME treat the global NAME like a library subroutine.(求翻译)
实例
最基本应用,不带任何参数:
[guest@localhost tmp]$ ltrace ./a.out __libc_start_main(0x80484aa, 1, 0xbfc07744, 0x8048550, 0x8048540 printf("no1:%d \t no2:%d \t diff:%d\n", 10, 6, 4no1:10 no2:6 diff:4 ) = 24 printf("no1:%d \t no2:%d \t diff:%d\n", 9, 7, 2no1:9 no2:7 diff:2 ) = 23 printf("no1:%d \t no2:%d \t diff:%d\n", 8, 8, 0no1:8 no2:8 diff:0 ) = 23 --- SIGFPE (Floating point exception) --- +++ killed by SIGFPE +++
输出调用时间开销:
[guest@localhost tmp]$ ltrace -T ./a.out __libc_start_main(0x80484aa, 1, 0xbf81d394, 0x8048550, 0x8048540 printf("no1:%d \t no2:%d \t diff:%d\n", 10, 6, 4no1:10 no2:6 diff:4 ) = 24 printf("no1:%d \t no2:%d \t diff:%d\n", 9, 7, 2no1:9 no2:7 diff:2 ) = 23 printf("no1:%d \t no2:%d \t diff:%d\n", 8, 8, 0no1:8 no2:8 diff:0 ) = 23 --- SIGFPE (Floating point exception) --- +++ killed by SIGFPE +++
显示系统调用:
[guest@localhost tmp]$ ltrace -S ./a.out SYS_brk(NULL) = 0x9e20000 SYS_access(0xa4710f, 4, 0xa4afc0, 0, 0xa4b644) = 0 SYS_open("/etc/ld.so.preload", 0, 02) = 3 SYS_fstat64(3, 0xbfbd7a94, 0xa4afc0, -1, 3) = 0 SYS_mmap2(0, 17, 3, 2, 3) = 0xb7f2a000 SYS_close(3) = 0 SYS_open("/lib/libcwait.so", 0, 00) = 3 SYS_read(3, "\177ELF\001\001\001", 512) = 512 SYS_fstat64(3, 0xbfbd76fc, 0xa4afc0, 4, 0xa4b658) = 0 SYS_mmap2(0, 4096, 3, 34, -1) = 0xb7f29000 SYS_mmap2(0, 5544, 5, 2050, 3) = 0x423000 SYS_mmap2(0x424000, 4096, 3, 2066, 3) = 0x424000 .............省去若干行
以上是"Linux中ltrace命令有什么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
命令
时间
进程
跟踪
输出
信息
篇文章
内容
函数
开销
情况
显示系统
用户
系统
帮助
低级
最大
不怎么
事件
内核
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
app软件开发专业的公司
数据库如何求乘积和
学软件开发能胜任什么工作
国网络安全的基本法是
江西互联网养老软件开发公司
网络安全隐患排查整改
武汉众乐商通网络技术可靠吗
计算机网络安全硕士就业方向
互联网 政务服务网络安全
如果要禁止修改数据库中的表
网络安全学习教育
网络安全大赛是什么人
数据库 教程
vc上位机软件开发pdf
唐山塔式服务器报价
怎么让软件开发协同
绍兴学软件开发设计
数据库服务器价格表
贵州省超级服务器云空间
简单数据库管理系统实现
互联网软件开发平台有哪些
江西互联网养老软件开发公司
网络安全从业人员毕业院校
一般软件开发公司多少人
姜林枫 数据库原理与应用技术
最近哪款游戏关服务器了
两种软件开发环境
暗黑重置2服务器老崩溃
古剑奇谭服务器1和2
php用什么连接数据库