Linux Debugging 6 - Process Tracing

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退出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值