strace工具跟踪系统调用和信号

 

* 掌握使用strace工具跟踪系统调用和信号的方法

* 掌握各类内存测试工具,比如memwatch(是不是和那个)

* 掌握使用库函数backtrace和backtrace_sysbols来定位段错误

一、使用strace工具跟着系统调用和信号

1、strace介绍和移植

①、介绍

strace是一个很有用的真的、学习、调试工具。使用时无需重新编译程序,这使得可以用来跟踪没有源代码的程序。系统调用和信号时发生在用户空间和内核空间边界处的事件,检查这些边界事件有助于隔离错误、检查完整性、跟踪程序。

使用strace工具来执行程序时,它会记录程序执行过程中的调用的系统调用、接受到的信号。通过查看记录结果,可以知道程序打开了哪些文件(open)、打开是否成功、对文件进行了哪些读写操作(read、write、ioctl等)、影射了哪些内存(mmap)、向系统申请了多少内存等。

②、strace的移植。

下载 strace-4.5.15.tar.bz2,和arm平台补丁程序strace-fix-arm-bad-syscall.patch

#tar

#cd

#patch -p1 < ../strace-fix-arm-bad-syscall.patch

然后,编译

#./configure --host=arm-linux CC=arm-linux_gcc

#make

这时,将在目录下生成名为strace的可执行程序,将它直接复制到开发板根文件系统上既可使用。

2、strace调试程序。

①、使用strace定位警告信息

#strace -o xxx.log xxx &

这样将会在本目录下生成xxx.log文件。

②、使用strace 来测量程序的执行时间。当不知道程序在哪里突然执行时间过长时。

#strace -r -o xxx.log xxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值