1. 程式人生 > >Sublime Text 3 使用 SublimeGDB 圖形化調試c/c++程序(轉)

Sublime Text 3 使用 SublimeGDB 圖形化調試c/c++程序(轉)

系統設置 printf idt gin ref inline ctr ria 依次


本文介紹如何在sublime text中,通過安裝 SublimeGDB 插件,實現方便的圖形界面的調試。

在之前的文章 sublime text 3配置c/c++編譯環境 中,我們介紹了使用sublime text 3編譯和運行c/c++代碼的方法。但是,只能一鍵運行代碼,卻不能單步調試不免讓人有點不爽。雖然windows下面調試代碼還是VS更好用一些,但有時候我們只有一個簡單的cpp文件,再開VS建工程就有點大材小用了。

準備工作

安裝MinGW

這裏的準備工作就是要安裝要使用到的工具 gcc g++和gdb 。關於這些的詳細情況可以參考安裝MinGW,這裏只把步驟重復一遍:

1. 下載MinGW

這裏提供了 codeblocks-13.12mingw-setup 中提取出來的MinGW:

http://pan.baidu.com/s/1gd5YzVP

解壓後把MinGW文件夾放到c盤根目錄

2. 添加環境變量

右鍵計算機->屬性->高級系統設置->環境變量

技術分享

在path的值中,可以發現有一些目錄,他們之間用英文的分號分隔。我們雙擊path,把我們gcc的路徑 C:\MinGW\bin 添加進去。 要註意前後的英文分號。

技術分享

測試

上面的步驟做完後,請重啟windows。(不重啟的話雖然cmd中可以使用gcc,但sublime中可能不會生效,會導致奇怪的問題)

在D盤test目錄下新建main.cpp ,內容如下

技術分享
#include <cstdio>

int main()
{
    int a=3;
    int b;

    a=a+2;
    b=a+2;

    printf("%d\n",b);

    return 0;
}
View Code

然後在空白處按住shift點擊右鍵,選擇 在此處打開命令窗口。

技術分享

執行

g++ -g main.cpp -o main
gdb main

第一句會生成一個可供調試的main.exe可執行文件,第二句會進入gdb調試

技術分享

在gdb中,使用start開始運行,輸入n執行下一句,輸入i locals查看當前變量

技術分享

如果你輸入i locals後,能看到變量的值,就成功了一半了。

安裝 SublimeGDB

使用Package Control來安裝,如果你沒有安裝過Package Control,可以參考 安裝Package Control

然後通過菜單Preferneces -> Package Control打開, 選擇 Install Package

技術分享

然後輸入SublimeGDB,點擊就可以安裝了。

技術分享

修改配置文件

依次選擇Preferneces -> Package Settings -> SublimeGDB -> Settings – User

技術分享

輸入下面的內容

{
    "workingdir":"${folder:${file}}",
    "commandline":"g++ -g -std=c++11 ${file} -o ${file_base_name} && gdb --interpreter=mi --args ./${file_base_name}",
}

保存。重啟sublime。

使用SublimeGDB

光標置於某一行,按F9鍵,會加入一個斷點

技術分享

設置好斷點後,按F5鍵啟動調試

技術分享

默認的快捷鍵(可以通過修改Default.sublime-keymap修改快捷鍵)

按鍵 功能
F5 開始調試
Ctrl+F5 停止調試
F9 設置斷點
F10 Step over,執行一步,不進入函數
F11 Step into,進入函數
Shift+F11 Step out,跳出函數

在GDB Callstack點擊可以跳轉到對應函數處。

在窗口 GDB Variables 裏可以查看變量的值,雙擊變量可以修改變量的值。如果變量名左邊有加號,可以展開查看子變量。

在最下面GDB窗口可以輸入gdb命令來運行,可以參考 gdb調試新手入門(一) | 雅樂網

還可以使用右鍵GDB菜單來實現這些功能

技術分享

轉自:http://www.yalewoo.com/sublimegdb.html

作者:yalewoo

Sublime Text 3 使用 SublimeGDB 圖形化調試c/c++程序(轉)