strace命令
strace(strace - trace system calls and signals)能够跟踪进程使用的系统调用,并显示其内容。因此,当遇到调试不明的故障时,首先使用strace找出系统调用中出错的地方,通常能得到故障发生的线索,特别是与文件有关的错误、参数错误等。使用strace能够有效地发现系统调用失败有关的故障,但无法发现用户写出的程序或共享库中发生的错误。strace 命令是一种强大的工具,它能够显所示有由用户空间程序发出的系统调用。跟踪程序的每个系统调用strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。
strace 的每一行输出包括系统调用名称, 然后是参数和返回值.
-i 找到地址方便GDB详细调试。给strace添加 -i 选项即可显示程序在哪个地址进行了系统调用,可以