溫馨提示×

Ubuntu下C++代碼如何調試

小樊
58
2025-05-06 12:56:37
欄目: 編程語言

在Ubuntu下進行C++代碼調試,你可以使用GDB(GNU調試器)或者集成開發環境(IDE)如CLion、Visual Studio Code等。下面是使用GDB和Visual Studio Code進行調試的方法:

使用GDB調試

  1. 首先,確保你已經安裝了GDB。如果沒有,請使用以下命令安裝:
sudo apt-get install gdb
  1. 編譯你的C++代碼時,需要添加-g選項以包含調試信息。例如,如果你的源代碼文件名為main.cpp,則使用以下命令編譯:
g++ -g -o main main.cpp
  1. 使用GDB運行你的程序:
gdb main
  1. 在GDB提示符下,設置斷點。例如,如果你想在main.cpp的第10行設置斷點,可以使用以下命令:
break main.cpp:10
  1. 使用run命令啟動程序。當程序在斷點處停止時,你可以使用各種GDB命令來查看變量值、單步執行等。例如:
  • next:單步執行,不進入函數內部
  • step:單步執行,進入函數內部
  • continue:繼續執行程序,直到遇到下一個斷點
  • print variable_name:打印變量的值
  • backtrace:查看函數調用棧
  1. 調試完成后,使用quit命令退出GDB。

使用Visual Studio Code調試

  1. 安裝Visual Studio Code(如果尚未安裝):https://code.visualstudio.com/

  2. 安裝C++擴展:在Visual Studio Code中,轉到“擴展”視圖(點擊側邊欄中的方塊圖標),搜索“C++”,然后安裝Microsoft提供的C++擴展。

  3. 打開你的C++項目文件夾。

  4. 創建一個名為.vscode的新文件夾(如果尚不存在),在其中創建一個名為launch.json的文件。

  5. 編輯launch.json文件,添加以下內容(根據你的項目和編譯器進行調整):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "g++ build active file",
            "internalConsoleOptions": "neverOpen"
        }
    ]
}
  1. 在Visual Studio Code中打開你的C++源代碼文件。

  2. 在代碼中設置斷點,只需點擊行號左側的空白區域。

  3. 點擊側邊欄中的“運行和調試”圖標(一個三角形和一個蟲子的圖標),然后選擇“g++ build and debug active file”配置。

  4. 點擊綠色的“運行”按鈕(或按F5鍵)開始調試。程序將在斷點處停止,你可以使用調試工具欄中的按鈕進行單步執行、繼續執行等操作。

這就是在Ubuntu下使用GDB和Visual Studio Code進行C++代碼調試的方法。祝你調試順利!

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女