|
|
Linux安装是strace工具# H5 `& @0 K: G8 B' E8 x* h
[root@1eb419a7b2e7 /]# yum install -y strace
& K, d$ i; D5 y! Z3 @6 lLoaded plugins: fastestmirror, ovl
8 [1 A7 P: G9 l' tLoading mirror speeds from cached hostfile
$ d9 W5 I" P2 N$ @ * base: mirrors.huaweicloud.com/ e/ V! q% n% O# x6 i1 m+ V f
* extras: mirrors.huaweicloud.com
+ x/ v3 Q8 d- M- x * updates: mirrors.huaweicloud.com. n6 r# Y9 p+ x- ?: s0 j# H
Resolving Dependencies
; @. D, z8 _: U) ]" P0 H, A--> Running transaction check
$ D; T% u8 o5 D$ V4 W---> Package strace.x86_64 0:4.12-6.el7 will be installed
}' I9 |( ^0 B# I--> Finished Dependency Resolution
5 s% i8 Q. `9 }- }; {
+ O5 Q" W5 t: D) t4 WDependencies Resolved
0 \- d: y) O& b+ h |0 ~6 M# d @6 j) g P% R6 n8 o5 E
==============================================================================================================================================$ i" ]5 V1 n1 P0 s* [5 K* M' h
Package Arch Version Repository Size8 \- U0 G S% j( M' a: o
==============================================================================================================================================
+ K B2 `6 O. r, T3 ?Installing:9 h/ C" }3 q) G9 W5 F3 L' j
strace x86_64 4.12-6.el7 base 459 k* p: U( a( Y/ c7 D
7 e7 X0 X! s% N0 n9 q4 m; a
Transaction Summary8 u7 u9 v: a) B2 T+ \5 e" e
==============================================================================================================================================! d4 M% j- `( J: F4 d
Install 1 Package* Y7 T6 S) W' R
+ A s% C% n% Q' b2 ^# k( eTotal download size: 459 k
. N! p" z$ O' ~) yInstalled size: 1.7 M
5 r ~- R9 K* K1 P% P) rDownloading packages:4 u5 G; H& X2 }# Y2 \& ~
strace-4.12-6.el7.x86_64.rpm | 459 kB 00:00:09 * x& N: e" l0 p
Running transaction check7 L4 |% m7 L- T+ Q
Running transaction test# L7 U! P9 |( r$ q
Transaction test succeeded
& A. p# B! c2 l" WRunning transaction
/ V2 r) W/ p7 m Installing : strace-4.12-6.el7.x86_64 1/1
- z) c: Q7 f+ L$ t2 Z Verifying : strace-4.12-6.el7.x86_64 1/1 ' \& q. a2 a+ m1 g
1 T% N( F s2 h$ }( E# w# V
Installed:) O! F& L, a! L" E3 [/ M
strace.x86_64 0:4.12-6.el7 & @0 O9 W8 ]8 G r1 {
' @$ R2 e' D4 C) `: T& |Complete!
. X3 X' w8 |% O, p1 ?- s9 _) ~6 ^) |( b9 T
[root@1eb419a7b2e7 /]# strace -V
! R2 V* e! x; _% u5 Estrace -- version 4.12- x7 Y L* i5 w1 \, f$ r* }0 K
" ]' q3 l# Q, B
追踪命令tail7 S* W) z, N$ D( ]& o
[root@1eb419a7b2e7 /]# strace -f tail" L0 \2 ~5 r8 C! k) T( J
execve("/usr/bin/tail", ["tail"], [/* 8 vars */]) = 0& V+ v9 u3 q) b: J0 O" ^7 D9 [
brk(NULL) = 0x1614000
# j& P) O4 w v' M. {- d0 \mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f118ea4a000, p3 G X0 ?$ z/ ^; W. L' K% i
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)( B4 P F% {5 F
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3: p/ u* v9 z {; ^/ `( K
fstat(3, {st_mode=S_IFREG|0644, st_size=12238, ...}) = 0
* [$ ~3 ^0 A, V9 h; c/ dmmap(NULL, 12238, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f118ea47000/ W( }; g6 H6 c) |$ J
close(3) = 0+ g: F8 T: ^* d8 S
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 30 V; C6 A3 H, S2 ~4 V- f# [! w: S0 H
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P%\2\0\0\0\0\0"..., 832) = 832
* l& y5 B1 [" ]fstat(3, {st_mode=S_IFREG|0755, st_size=2173512, ...}) = 0
' O% \+ l2 z; pmmap(NULL, 3981792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f118e45d000
4 e+ Y) Q! m* f; vmprotect(0x7f118e620000, 2093056, PROT_NONE) = 0
- l6 L& \, j- i: Kmmap(0x7f118e81f000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c2000) = 0x7f118e81f000) n$ k3 G: G- Y, u- `5 Z2 ^- F. [
mmap(0x7f118e825000, 16864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f118e825000+ W; n8 N) n3 x$ T0 J2 I
close(3) = 04 s# Y. T$ y6 t! Z8 w0 K, b
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f118ea46000% v6 V; U0 C1 I; W* w
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f118ea44000
3 J% f6 [- g! r3 X5 Z$ ?4 Y& E& garch_prctl(ARCH_SET_FS, 0x7f118ea44740) = 0
5 X. k8 |6 [ U* F1 x; jmprotect(0x7f118e81f000, 16384, PROT_READ) = 0
! Q5 X; U1 t( f# l& nmprotect(0x60e000, 4096, PROT_READ) = 06 v7 x3 c9 f, M/ k7 v$ ~
mprotect(0x7f118ea4b000, 4096, PROT_READ) = 0& q) [0 c; r# X0 V4 X; }" K) n0 D
munmap(0x7f118ea47000, 12238) = 09 ~4 S& Z$ X3 J. W. N% A
brk(NULL) = 0x1614000
/ u; X# A$ N1 ^: Nbrk(0x1635000) = 0x1635000
9 T7 D5 F9 V5 C. l) u0 wbrk(NULL) = 0x1635000
* U( \" J4 |$ i4 G& R$ I, t. z: Mfstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
5 k; s, a; C2 g" a6 E8 T) \. f7 U+ B9 ?1 ^: i/ v8 O; a& y2 I- L
追踪进程号
9 r5 h C6 [4 B% V0 F3 w[root@1eb419a7b2e7 /]# strace -p 27* ~" r2 Q2 ~3 @
strace: Process 27 attached8 A% d0 ^/ W0 `: ` ^) }7 B7 Z0 O
open("/sys/fs/cgroup/systemd/docker/1eb419a7b2e7ad8556e83051a8cc2bcdb5f1f3b4fe191ee3bf6840a0f9610665/docker/1eb419a7b2e7ad8556e83051a8cc2bcdb5f1f3b4fe191ee3bf6840a0f9610665/system.slice/systemd-udevd.service/cgroup.procs", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)* Z; g! x: Q2 |7 a% o* u% W
unlink("/run/udev/queue") = -1 ENOENT (No such file or directory)
/ @5 n5 @9 |& h( G/ E$ @# \5 K# [epoll_wait(11, |
|