开源代码分析技巧之二——gdb单步调试

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

 

开源代码分析技巧之二——gdb单步调试

  

        在海量的源码面前,如何更好的切入到源码,锁定我们需要的那一行,有时显得格外重要。

       而通常来讲,我们知道源码包,或多或许我们也同时有一些参考文档(可能不全),并且知道源码能提供的一些功能。比如以Samba4.0.0的源码为例,在samba4.0.0/source4下就有介绍source4新功能说明的帮助文档;在kerberos相关文件夹下就有介绍kerberos协议实现相关的文档;在Samba官网上有其从80-90年代一路走来各个版本的文档,信息量非常大,筛选需要花些时间。而对于一些功能的提供,往往是一些提供给我们可用的工具,比如安装Samba后在/usr/local/samba/bin下有samba-tool、tdbtool、rpcclient等工具。这样工具的用法,我们可以man一下,不同的参数便一目了然。

       顺着这个思路,我们就可以加上参数、子参数,运行设定的工具,这时候就有了执行这些程序的进程,可通过ps –aux查看。有了这些进程,我们就可以展开我们的单步调试了。

1、从SAMBA源码现身说法

        对于比如/usr/local/samba/bin目录下的文件,可以通过File查看文件属性,有的是编译好的二进制可执行文件,有的则是一些python脚本,可以vi打开查看源码的。但是二者都可以运行。对于前者二进制程序我们可以直接gdb可执行文件名称,如gdb rpcclient直接调试。而对于后者,我们只能通过pdb(python的单步调试方法)和 gdb结合的方式运行:

       第一步,pdb可执行文件名称,可以参数执行的进程号;

       第二步,通过ps –aux查看执行的进程号;

       第三步ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值