- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
strace linux 下程序的系统调用和信号调用跟踪工具
strace 简介
/qingquan/archive/2011/07/18/2110072.html
strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括系统调用名称, 然后是参数和返回值.
调用方法为:
调用: strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ... [ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ] strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ] 参数:
-c -- count time, calls, and errors for each syscall and report summary
-f -- follow forks, -ff -- with output into separate files
-F -- attempt to follow vforks, -h -- print help message
-i -- print instruction pointer at time of syscall
-q -- suppress messages about attaching, detaching, etc.
-r -- print relative timestamp, -t -- absolute timestamp, -tt -- with usecs
-T -- print time spent in each syscall, -V -- print version
-v -- verbose mode: print unabbreviated argv, stat, termio[s], etc. args
-x -- print non-ascii strings in hex, -xx -- print all strings in hex
-a column -- alignment COLUMN for printing syscall results (default 40)
-e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]...
?? options: trace, abbrev, verbose, raw, signal, read, or write
-o file -- send trace output to FILE instead of stderr
-O overhead -- set overhead for tracing syscalls to OVERHEAD usecs
-p pid -- trace process with process id PID, may be repeated
-s strsize -- limit length of print strings to STRSIZE chars (default 32)
-S sortby -- sort syscall counts by: time, calls, name, nothing (default time)
-u username -- run command as username handling setuid and/or setgid
-E var=val -- put var=val in the environment for command
-E var -- remove var from the environment for command
例子:
例子1:
执行如下命令:
strace –o s_ff ./ffmpeg
则会将strace的运行结果输出到s_ff文件中:
execve(/usr/local/bin/ffmpeg, [ffmpeg], [/* 46 vars */]) = 0 brk(0)????????????????????????????????? = 0x922e000 access(/etc/ld.so.nohwcap, F_OK)????? = -1 ENOENT (No such file or directory) mmap2(NULL, 8192
您可能关注的文档
最近下载
- 初中物理(粤沪版)公式大全最新版2016.doc VIP
- 2024年山西晋城市人民医院招聘笔试参考题库含答案详解.pdf
- 2025年第六届全国国家版图知识竞赛题库及答案(超全题库).doc
- 2025年时事政治热点题库及完整答案(历年真题).docx VIP
- 年产2.3亿片阿司匹林片剂生产车间工艺设计.doc
- HOLLiAS MACS V6.5.2用户操作手册(火电版).pdf
- 宜昌市西陵区社工招聘笔试真题 .pdf
- 四川超高层商务楼脚手架专项施工方案(三排落地式脚手架).doc VIP
- NexION1000-2000系列简易操作指南.doc VIP
- 肿瘤专科护士理论知识考试题库600题(含答案).docx
文档评论(0)