strace
- n.可用于诊断、调试和教学的Linux用户空间跟踪器
-
The Linux strace program lets you trace all the system calls that an application makes .
Linuxstrace程序允许您跟踪应用程序做出的所有系统调用。
-
Strace receives information from the kernel and does not require the kernel to be built in any special way .
strace从内核接收信息,而且不需要以任何特殊的方式来构建内核。
-
Tracing system calls with strace
使用strace跟踪系统调用
-
The strace command is a powerful tool that shows all of the system calls issued by a user-space program .
strace命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。
-
Strace displays the calls like this as well , regardless of the actual programming language used in the creation of the program .
Strace同样以这种方式显示这些调用,不管在实际创建该程序时使用的是何种编程语言。
-
Next , we can try to run the program ( again without the suid bit ) under strace .
接下来,我们可以试着在strace之下运行这个程序(同样不设置suid位)。
-
As you saw , strace can be a great program for learning how user programs interact with the operating system through certain system calls .
正如您所看到的,strace可以作为了解用户程序如何通过某些系统调用与操作系统进行交互的一个很好的程序。
-
The utility is called strace and is executed from the command line , using the application you want to trace as its argument .
这个工具就是strace,它可以在命令行中执行,使用希望跟踪的应用程序作为参数。
-
The second parameter , - p13375 , tells strace to attach to the running process with that process ID.
第二个参数-p13375告诉strace使用这个进程ID连接到运行的进程。
-
Launch another xterm , and then use strace to trace the nweb server that is running .
启动另一个xterm,然后使用strace来跟踪正在运行的nweb服务器。
-
Next , the strace command is run with two parameters : - e trace = file limits the output to system calls having to do with files .
接下来,运行带有两个参数的strace命令:-etrace=file限制与文件相关的系统调用的输出。
-
Just as with strace , you can stop debugging the nweb server by pressing Ctrl + C.
与strace相同,您可以按下Ctrl+C来停止对nweb服务器的调试。
-
You can use a tool like file / truss / strace to check which libraries files are been loaded , which could point to errors in the environment .
您可以使用file/truss/strace这样的工具检查已加载哪些二进制文件,这可以发现环境中的错误。
-
As always , you can learn a lot about tools , such as strace and the GDB Debugger , from their man and info pages .
和平常一样,您可以通过其man和info页面来了解各种各样的工具,如strace和GDB调试工具。
-
Strace reports all system calls used by the program along with their return values , so we can look through the strace output for return values indicating lack of permission .
strace会报告这个程序使用的所有系统调用及其返回值,所以可以通过查看strace输出中的返回值来判断缺少的权限。
-
You can stop tracing the network calls on the running nweb process by pressing Ctrl + C when the xterm in which the strace is running has the window focus .
您可以在运行strace的具有窗口焦点的xterm中按下Ctrl+C以停止对网络调用的跟踪。
-
UNIX actually encourages you to explore and learn by providing tools , such as strace and the GDB Debugger , as well as a wealth of information in the man and info pages .
实际上,UNIX通过提供各种工具,如strace和GDB调试工具以及包含在相应的man和info页面中的大量的信息,鼓励您对系统进行研究和学习。
-
You can do it ( see strace ( 1 ) for some information about what this would look like ), but it 's hard , and it requires a separate process that runs yours ( much like a debugger ) .
您可以进行拦截(查看strace(1)获得关于此的一些信息),但很困难,并且需要一个独立的进程来运行您的进程(与调试器很像)。