文章目錄
- 一、可視化前端 Kdbg
- 二、基于跨平臺多型別代碼編輯器VScode
- 三、總結
- 四、參考資料
本文使用Ubuntu20.04
一、可視化前端 Kdbg
- 安裝Kdbg程序
git clone -b maint https://github.com/j6t/kdbg.git

當git clone使用不了
解決陳述句:
sudo apt install git

解決陳述句:
sudo apt-get install update

解決方法:
sudo nano /etc/resolv.conf
修改DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
sudo etc/init.d/networking restart
然后重新執行(不出意外,安裝會成功)
sudo apt-get install update
sudo apt-get install git
git clone -b maint https://github.com/j6t/kdbg.git

進入kdbg目錄下
cmake .

cmake不成功,通過查看CMakeList.txt內容,發現應該是缺少一個QT程式和一個KF5

安裝QT程式始終不成功,發現是虛擬機的磁盤空間不夠,已經放不了QT程式,所以后面就換了一個虛擬機,前面操作一樣,
下載QT安裝檔案
下載完成后在終端中切換到檔案放置目錄,增加可執行權限,輸入
chmod +x qt-opensource-linux-x64-5.9.0.run

然后就是雙擊這個檔案進行安裝,安裝程序如下
安裝界面,選擇Next

內容可以不填,直接點擊Skip

安裝位置的選擇

默認的QT5.9是沒有打勾的,盡量打上勾

選擇同意這個協議后,點擊Next

點擊Install,開始安裝(安裝程序時間會比較久)

KF5相關庫的安裝命令
sudo apt install extra-cmake-modules qtbase5-dev libx11-dev libkf5crash-dev libkf5kio-dev libkf5solid-dev libkf5jobwidgets-dev libkf5textwidgets-dev libkf5bookmarks-dev libkf5xmlgui-dev libkf5itemviews-dev libkf5attica-dev libkf5sonnet-dev libkf5globalaccel-dev libkf5guiaddons-dev libkf5codecs-dev libkf5auth-dev libkf5dbusaddons-dev libkf5coreaddons-dev libkf5iconthemes-dev libkf5configwidgets-dev libkf5widgetsaddons-dev libkf5service-dev libkf5config-dev libkf5windowsystem-dev libqt5concurrent5 libpulse-dev libqt5x11extras5 libqt5x11extras5-dev
接下來,進入kdbg目錄下,執行下面命令
cmake .
sudo make install
安裝就完成了
- 使用KDBG
首先進入kdbg目錄下,使用ls命令查看是否存在kdbg的可執行檔案,如果前面安裝沒有問題的話,一定會有kdbg的可執行檔案,接著執行該可執行檔案,
執行后,效果如下

將需要除錯的代碼加載進來,進行設定,就可以進行除錯,
二、基于跨平臺多型別代碼編輯器VScode
- 安裝VScode
官網下載地址:
https://code.visualstudio.com/Download

解壓
sudo dpkg -i code_1.51.0-1604600753_amd64.deb

在Ubuntu的應用區域可以找到VScode就表示安裝完成,
- 安裝C++插件
打開VScode,安裝圖中進行操作

- 使用VScode
使用終端命令新建一個檔案夾,在VScode中打開該檔案夾,然后,在VScode新建一個檔案,并輸入代碼
獲取lanch.json檔案,會得到默認生成的json檔案

修改后的lanch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
修改的內容
將program的內容改為除錯運行的程式,enternalConsole的內容改為true
獲取task.json檔案,會生成自動的task.json檔案

修改后的task.json檔案
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-std=c++11",
"-o",
"${fileBasenameNoExtension}.out"
]
}
]
}
使用ctrl+shift+B來調出命令,進行Build

在設定好斷點后,開始除錯

三、總結
通過對這兩種可視化的方式對程式進行除錯的程序中,基本掌握該如何使用這兩種方式進行除錯,在安裝程序中,還是遇到比較多的問題,還好在最后都解決了,在使用VScode進行除錯的程序,最大的問題是怎么配置lanch.json和task.json檔案,只要這兩個檔案配置好了,后面的操作就比較簡單了,
四、參考資料
- UBUNTU20.04安裝KDBG3.0.1
- Ubuntu下VSCode除錯環境搭建指南-C語言篇
- 工程化編程實戰callback介面學習筆記
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/206782.html
標籤:java
上一篇:飛哥工具---如何實作微信自定義鏈接圖片卡片式分享?微信自定義分享網頁鏈接圖片和文字描述資訊流程(附教程與工具)
