linux调试

总结一下我调试linux的几种常用手段。

1.printk。经典的方法,有时候最笨的往往是最有效的。

2.打开oops。得出有效信息然后对照相应的C代码调试。

3.coredump。只能调试应用程序,因为coredump的潜规则是:linux内核是稳定的,并由内核产生。

4.打桩。对相应的函数用宏重新定义,或者在结构体中增加相应的调试成员,然后在合适的地方有效利用此成员。比如重构malloc等。

5.缓冲区buffer.这是听我司一位高手讲座时学到的,比如skb一秒钟可能会打很多,但skb出错的话就最后一个包,我们可以设一个缓冲区为100,这样在出错时自动触发打印出最后100个。

调试注意细则:

1.细心。仔细观察出错时的现象,尽可能不要放过任何线索。包括测试的环境及信息。这个说起来容易,不同的人看同一个现象所得出的信息绝对是千差W别的。

2.充分了解linux内核所提供的信息。比如proc下面就有很多有价值的东西。比如内存泄露的/proc/meminfo /proc/slabinfo ps等。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值