日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用slickedit调试开源代码

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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欄目的下的命令。

全文完。

?

總結

以上是生活随笔為你收集整理的使用slickedit调试开源代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。