博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ltrace查看库调用
阅读量:6837 次
发布时间:2019-06-26

本文共 1782 字,大约阅读时间需要 5 分钟。

ltrace - A library call tracer

strace - trace system calls and signals

-S  display system calls 显示系统调用

-t, -tt, -ttt  print absolute timestamps 打印绝对时间戳

-T  show the time spent inside each call 输出每个调用过程的时间开销

下面是常见的几种应用场景

1、最基本应用,不带任何参数

[guest@localhost tmp]$ ltrace ./a.out

__libc_start_main(0x80484aa, 1, 0xbfc07744, 0x8048550, 0x8048540 <unfinished ...>

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 +++

2、输出调用时间开销

[guest@localhost tmp]$ ltrace -T ./a.out

__libc_start_main(0x80484aa, 1, 0xbf81d394, 0x8048550, 0x8048540 <unfinished ...>

printf("no1:%d \t no2:%d \t diff:%d\n", 10, 6, 4no1:10   no2:6   diff:4 ) = 24 <0.000972>

printf("no1:%d \t no2:%d \t diff:%d\n", 9, 7, 2no1:9     no2:7   diff:2 ) = 23 <0.000155>

printf("no1:%d \t no2:%d \t diff:%d\n", 8, 8, 0no1:8     no2:8   diff:0 ) = 23 <0.000153>

--- SIGFPE (Floating point exception) ---

+++ killed by SIGFPE +++

3、显示系统调用

[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

.............省去若干行

原文

http://hi.baidu.com/higkoo/item/c48de4950118cc49f14215ca

http://hi.baidu.com/yuanhuiyong/item/eba859d111e6e28f6dce3fea

转载地址:http://urmkl.baihongyu.com/

你可能感兴趣的文章
Java-GC-标记清除算法
查看>>
(转载)Java多线程入门(一)
查看>>
[C#]中获取当前程序运行路径的方法
查看>>
我的第一天
查看>>
SGU 164.Airline(结论题)
查看>>
findlibrary returned null
查看>>
scala学习手记28 - Execute Around模式
查看>>
Filebeat的工作原理
查看>>
Elasticsearch配置文件详解
查看>>
Java虚拟机学习 - 查看JVM参数及值的命令行工具
查看>>
Ubiquitous Religions(friends变形)
查看>>
机器学习——聚类分析和主成分分析
查看>>
Win10上 visual studio设置为本地IIS运行网站时 必须以管理员身份加载项目的解决方法...
查看>>
记录常见的HTTP请求错误
查看>>
Java字符串替换函数replace、replaceFirst、replaceAll
查看>>
Ubuntu下搭建Android开发环境
查看>>
汇编指令
查看>>
yum安装mysql后root用户的临时密码
查看>>
mysql 原理~ 乐观锁和悲观锁
查看>>
策略模式
查看>>