1. how to inject my lib to the process?
有2个环境变量,LD_LIBRARY_PATH和LD_PRELOAD
配置文件
加上mtrace后,奇迹发生了
编写脚本trace.sh
测试程序
执行分析
2. strace
strace : trace system calls and signals
例如,在一个窗口中strace到另外一个终端,并且在被trace的终端中按下“hello”
下面的例子展示了如何trace进程以及线程
1) 进程
在一个窗口输入ifconfig,并在另一个窗口进行strace。
产生的log文件内容, 第一列为进程号
2) 线程
线程示例程序:
strace输出
log文件内容
总结:通过strace可以看到系统内核实现时的C源代码
3. ltrace
ltrace: trace library calls
常用的选项:-f -o -p
例如:
4. screen
参考http://www.ibm.com/developerworks/cn/linux/l-cn-screen/
常用的命令: screen -r -x
不要使用KSH
Ctrl+a 然后d退出