使用slickedit调试开源代码

slickedit linux下的神器啊!

阅读代码堪比 source insight,调试代码堪比 visual studio。

nginx优秀的web服务器。

因为其具有多进程、后台进程的特点,因此本文选择以此为例讲解slickedit如何对开源代码进行调试。

 

一、调试环境

ubuntu 14.04 + slickedit pro 2016 + nginx 1.7.9

 

二、编译nginx

对nginx完成一次编译,开源软件的套路一般都是 ./configure --xxx=xxx 后生成makefile,然后make即可。

注意这里生成的makefile很关键,后面slickedit启动调试后会用到。

配置要使用debug版本,不同的开源软件配置也不一样。一般都是:不使用优化选项、不使用strip、加-g选项。

如果调试过程中,代码行乱跳一般都是打开了优化选项。

 

三、建立工程

选择用户自定义makefile,其他根据向导完成即可。并导入nginx源码。

菜单 project->project properties...

注意 这里有很多东西可以配置。

 

四、调试配置

虽然slickedit提供了界面进行配置,但是时灵时不灵的,很让人头疼。具体原因也没有查明。

但是通过其工程的配置文件却很好使。

在我们建立的工程目录里有一个*.vpj文件,我这里是nginx.vpj。

修改方法如下:

到了这一步,我们终于可以启动调试了。F9加断点、F5启动调试,快捷键的配置和vs基本一直。

启动后的效果如下:

 

在build窗口(view->tool window->build)可以看到其执行过程

1、进入源码路径 执行了make。因此nginx要提前配置好生成makefile,否则这里就会提示找不到makefile。

      cd /work/sdb/opensrc/nginx/nginx-1.7.9

2、启动调试命令。 

     /opt/slickedit-pro2016/bin/vsdebugio -port 8001  -prog
     /work/sdb/opensrc/nginx/bin/sbin/nginx -c   /work/sdb/opensrc/nginx/bin/conf/nginx.conf

这个2个关键的命令我们在第四步进行了配置。

如果启动不成功,也可以根据这里的提示信息,进行问题的解决。

 

五、调试子进程

slickedit 默认是进入主进程进行调试,对于nginx这种多进程的模式,如果想要调试子进程,可以通过命令行进行修改。

slickedit封装了gdb,支持gdb所有的命令。

鼠标单击slickedit的底部就可是输入命令:debug_send_command set follow-fork-mode child

debug_send_command 是slickedit的命令

set follow-fork-mode child 是gdb命令

如下图:

 

六、调试运行中进程

菜单 debug->attach debugger->attach to ranning process (gdb)...

配置如下:

点击ok,slickedit就attach到nginx work process这个进程了。

补充一点:
如果建立的slicedit工程,和makefile文件不在同一目录,还需修改
*.vpj文件中 Name="Build" 栏目下的 RunFromDir字段 该路径包含我们项目的makefile文件。
也就是说当按下F5进行调试时,先执行了build栏目下的命令,再执行debug栏目的下的命令。

全文完。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值