gdb 调试小记(关于watch)

    这篇文章作为菜鸟新入门的一点点小心得与有需要的孩纸们一起分享啦,高手就绕行了吧,免得贻笑大方了,嘻嘻~

    刚接触gdb调试时一窍不通,今天手痒痒,自己写了个小程序小试了一下。发现要从windows的一些集成开发环境转换到gdb调试还是比较痛苦的,最要命的是自己调试时特别喜欢查看变量值,但是看了许多网友的博客,可能自己悟性不好,看得不够透彻。

    后来就一个一个建议的试。

    自己想要达到什么目的呢?就是单步执行,每执行一步都要看到一个变量的值(其变化情况)。

    刚开始看网上朋友说用可以用print,后来发现太不方便,不能每执行一步都可以显示指定变量情况。

     于是又看到有网友写可以用watch,于是用了,于是发现,真的很好耶~

   当设置 (gdb)watch value  (注:要watch 这个value时必须要先让程序run起来,即先执行run,但是,如果直接执行run那么程序就一下子执行完了....所以必须要在你观察value值的程序段之前先设置一个断点...你猜对了,用break)

   然后单步执行:(gdb) n

   以后在单步执行的过程中,每当value的值被改写了,就会显示出value的old值和new值,这样我们就可以进行比较啦(看到这个效果还是好开心滴~)。

  后来又发现,可以不用单步next执行,直接在用continue让程序从断点后开始继续执行,一旦value的值被写入,程序也会停下来滴...很好很强大,有木有....

 好了,暂时就发现了这些....有更多的收获再与大家分享啦~

你可能感兴趣的:(others)