您的位置:首页 > 运维架构 > Linux

悟空学Linux专栏----第42篇

2015-07-14 10:23 483 查看
  有了圆方的思路,悟空决定设计一个测试程序,来验证一下。悟空给驱动程序加了很多的打印函数,悟空希望通过这些打印来判断发送队列最后处于什么状态。但是悟空测试了两天也没有测试出任何问题,所以悟空非常高兴,悟空跑去找到圆方,想把这一好消息告诉给圆方。

  悟空曰:我家了很多打印函数,发现这个问题竟然不再出现了,那么是不是说这个问题已经解决了呢?圆方,你怎么看呢?

  圆方曰:我觉得问题依然存在,只是你加了这么多的打印函数,这些打印函数花费了不少的时间,以至于降低了无线传输的速度,因此这个问题没有暴露出来,这个问题是在无线高负载的情况下才会暴露出来。

  悟空曰:不是吧,如果不加入打印函数,我们又怎样才能知道系统无线的状态呢。即使无线网卡出现假死的问题,我们也无法知道当前系统的无线的状态啊?而加入打印函数又会影响测试,那么这个问题不是就无法调试了吗?圆方,你怎么看呢?

  圆方曰:虽然我们不能采用打印追踪的方式测试,但是其实我们可以通过Linux内核的debugfs来调试,我们通过将一些需要测试的数据保存在系统中,然后通过debugfs将这些测试的数据显示出来。这样我们就可以不通过打印函数来查看驱动的状态。

  悟空曰:呵呵,其实这个方法我以前听过。但是不知道为什么遇到了问题的时候,我首先想到竟然是打印状态,而不是通过debugfs来分析呢?看来要在工作中将这些东西用起来还真不是一件容易的事情啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息