Seer - Linux 上 gdb 的 gui 前端。 (厄尼·帕斯維爾 [email protected])
該項目正在積極開展中。目標是為 gdb 提供一個簡單但令人愉悅的 gui。
請向我的電子郵件報告任何錯誤或所需的功能,或在我的 GitHub 專案頁面中建立任務。
Seer 可以從套件管理器或來源安裝。
筆記
安裝前請確保滿足要求。
Linux
C++17
帶有「mi」解譯器的 gdb(透過執行檢查: gdb --interpreter=mi
)
CMake(3.1.0 或更高版本)
QT6
QT5
可透過以下套件管理器取得:
pamac install seer
zypper install seergdb
(建議)Seer 可以按照以下說明使用 Qt6 建置。
https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
暫時仍然可以使用 Qt5 構建,按照以下說明進行操作。
https://github.com/epasveer/seer/wiki/Building-Seer---Qt5
查看 github 上的 Seer Wiki 頁面。
各種 Seer 視圖和對話框的範例。
Seer 的主視圖如下所示:
來源/函數/類型/變數/庫
變數/暫存器資訊
代碼管理器。
斷點、觀察點、捕獲點、列印點、手動 gdb 命令和日誌。
堆疊幀資訊。
線程資訊。
支援Gdb的反向調試模式。
當呼叫開啟的可執行對話框時,它看起來像這樣:
可執行檔的所有文字輸出都將傳送到 Seer 控制台。可執行檔的文字輸入也可以透過控制台輸入。
通常,Seer 只會在程式碼管理器中將原始程式碼顯示為選項卡。程式的程序集也可以顯示為選項卡。
選擇“視圖->組件視圖”,原始程式碼標籤旁邊將顯示一個額外的選項卡,顯示目前正在執行的組件。這是一個例子。
與原始碼選項卡一樣,可以在彙編選項卡中設定斷點。目前指令突出顯示。
雙擊「斷點」標籤和「堆疊幀」標籤中的項目將顯示這些位址的組件。
有“Nexti”和“Stepi”熱鍵,由您的配置設定定義。通常為“Ctrl+F5”和“CTRL+F6”。在程式集標籤中使用“^F”將顯示強大的搜尋欄。
Seer 中的組裝功能是新的。請隨意提出更改/功能建議。
當在記憶體視覺化工具中查看原始記憶體的內容時,它看起來像這樣:
記憶 | 拆卸 |
---|---|
在數組視覺化工具中查看數組的內容時,它看起來像這樣:
普通的 | 樣條線 | 分散 |
---|---|---|
兩個陣列可用作 XY 圖。例如,這個簡單的「點」數組形成了形狀的 XY 輪廓。
int main() {
int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
return 0;
}
X 值 | Y 值 | XY 值 |
---|---|---|
在結構視覺化工具中查看 C/C++ 結構或 C++ 類別的內容時,它看起來像這樣。此範例顯示了 Seer 所在的目前 C++ 類別的「*this」的內容。
還有一個Basic Struct Visualizer ,重量更輕,但不能跟著指針,也不能編輯。
當查看作為影像的原始記憶體的內容時,可以使用影像視覺化工具。
Seer 旨在輕鬆地從命令列啟動程式進行偵錯。 gdb 有多種調試程式的方法。所以Seer自然也是如此。
前往 Wiki 查看運行 Seer 的所有方法。
https://github.com/epasveer/seer/wiki/Starting-Seer
如果有任何錯誤或功能,請發送電子郵件至 [email protected]。或在我的 GitHub 專案頁面中建立一個任務。