C++:淺嘗gdb

hp window11 wsl + ubuntu
在這里插入圖片描述

what is gdb?

GNU調試器(英語:GNU Debugger,縮寫:GDB),是GNU軟件系統中的標準調試器,此外GDB也是個具有移攜性的調試器,經過移攜需求的調修與重新編譯,如今許多的類UNIX操作系統上都可以使用GDB,而現有GDB所能支持調試的編程語言有C、C++、Pascal以及FORTRAN。
檢查本地已安裝:
在這里插入圖片描述
在這里插入圖片描述

how to use gdb?

用vim寫了一個c文件hello.c

#include<stdio.h>int main()
{int i = 0;printf("hello,world");printf("i is %d\n",i);i++ ;printf("i is now %d\n",i);return 0;
}

使用cat命令查看hello.c的內容

在這里插入圖片描述
使用gcc編譯用于dubug的文件hello.c,會默認生成名為a.out的執行文件

gcc -g hello.C

gcc: The GNU Compiler Collection command for compiling C programs.
-g: This flag tells GCC to include debugging symbols (useful for tools like gdb).
hello.c: The source file to be compiled.
By default, this command generates an executable named a.out on Linux

gdb a.out

在這里插入圖片描述
看到(gdb)字說明可以使用gdb命令了
使用gdb的start命令,開始dubeg ,停留在main函數體處。
而list可以在gdb里面列出正在操作的文件內容。

在這里插入圖片描述
然后按下Ctrl + X + A開啟TUI模式,就是下面這個好看的視圖,當然關閉也是此快捷鍵。
在這里插入圖片描述
使用next,可以對程序進行單步跟蹤,由原來的第4行走到原來的第5行。
在這里插入圖片描述
還可以使用layout split可以看到源碼和相對應的匯編。當然這里只是拋磚引玉,使用了gdb中的一部分命令進行演示,常用gdb命令放到文章末尾了,可以慢慢把玩。
在這里插入圖片描述最后按下quit(簡稱q)退出,按下y確認退出gdb調試。體驗就此完畢,怎么說呢,之前對gdb比較神秘,現在也算是微微打開了它的神秘面紗。
在這里插入圖片描述

Here are some commonly used GDB (GNU Debugger) commandsclick me

在這里插入圖片描述
在這里插入圖片描述

視圖切換:
快捷鍵 功能說明
Ctrl + X + S 顯示 源碼視圖(等效 layout src)
Ctrl + X + A 顯示 匯編視圖(等效 layout asm)
Ctrl + X + R 顯示 寄存器視圖(等效 layout regs)
Ctrl + X + F 顯示 函數調用棧視圖(等效 layout split,混合源碼+匯編)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/diannao/95519.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95519.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95519.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android輸入法一些常用的命令

Android開發過程可能會遇到Android輸入法異常的問題&#xff0c;可以通過如下命令來查看和修改系統的輸入法。方便調試。 獲取當下系統的所有輸入法 adb shell ime list獲取當前的可用輸入法 adb shell ime list -s獲取當前的輸入法 adb shell settings get secure default_inp…

Sklearn 機器學習 手寫數字識別 加載并查看數據

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 Sklearn 機器學習 手寫數字識別:加載并查看數據 在機器學習入門案例中,手寫數字識別…

衛星通信鏈路預算之七:上行載噪比計算

在前面的文章中我們介紹了衛星通信鏈路計算的基礎知識&#xff0c;包括&#xff1a; 信噪比分配&#xff1b; 帶寬和功帶平衡原則&#xff1b; EIRP和G/T&#xff1b; 輸入回退&#xff1b; 輸入飽和通量密度SFD&#xff1b; 輸出回退&#xff1b; 這次我們正式進入正題…

一文讀懂PDB格式

最近在做分子對接和分子模擬&#xff0c;涉及到了一些盲區&#xff0c;必去pdb文件是按照列位數儲存信息的&#xff0c;跟其他文件的空格或者制表符分割很不同&#xff0c;所以也可能出現一些錯誤&#xff0c;比如信息錯位&#xff0c;因此有必要了深入解下結構相關的格式pdb、…

進階:PGCE中級專家認證精要

PGCE中級認證的核心價值技術深度&#xff1a;掌控未來生態PostgreSQL不僅是傳統關系型數據庫的標桿&#xff0c;更是云原生、AI大模型訓練、物聯網平臺等前沿場景的核心支撐。通過PGCE認證&#xff0c;你將掌握&#xff1a;萬億級數據性能調優&#xff1a;從查詢優化器原理到執…

AI增強SEO關鍵詞表現

內容概要 隨著人工智能技術的不斷演進&#xff0c;其在搜索引擎優化領域展現出顯著潛力&#xff0c;尤其在關鍵詞表現優化方面發揮著核心作用。本文將從基礎概念入手&#xff0c;系統探討AI如何智能提升關鍵詞的搜索可見性、流量吸引力和轉化效率&#xff0c;從而驅動整體SEO策…

PG靶機 - PayDay

一、 初步偵察與服務探測 1.1 端口掃描與服務識別 首先&#xff0c;對目標主機 192.168.163.39 進行一次全面的端口掃描&#xff0c;以識別其上運行的各項服務。 sudo nmap 192.168.163.39 -p- --min-rate5000 -A圖 1: Nmap 掃描結果&#xff0c;顯示開放 80、445 和 995 等端口…

MySQLl中OFFSET 的使用方法

MySQLl中OFFSET 的使用方法基本語法SELECT column1, column2, ... FROM table_name LIMIT number_of_rows OFFSET offset_value;number_of_rows&#xff1a;指定返回的記錄數量。offset_value&#xff1a;從第幾條記錄開始返回&#xff08;偏移量從 0 開始計數&#xff09;。示…

監管科技(RegTech)應用:技術驅動的合規革命

目錄 監管科技(RegTech)應用:技術驅動的合規革命 1. 監管科技革命:數字化合規新范式 2. 技術架構全景 2.1 現代RegTech架構 2.2 合規效率公式 3. 核心技術實現 3.1 智能合約自動化合規 3.2 AI驅動的風險監測引擎 4. 核心應用場景 4.1 KYC/AML全流程自動化 4.2 實時交易監控系…

解決SQL Server連接失敗:Connection refused: connect

今天創建數據庫&#xff0c;本地連接SQL Server報錯&#xff1a;“通過端口 1433 連接到主機 127.0.0.1 的 TCP/IP 連接失敗。錯誤&#xff1a;Connection refused: connect”報錯圖如下&#xff1a;查了一圈&#xff0c;問題出在&#xff1a;TCP/IP 沒啟用。如果問題和我一樣&…

Windows bypassUAC 提權技法詳解(一)

引言 用戶賬戶控制&#xff08;User Account Control, 簡稱 UAC&#xff09;是微軟自 Windows Vista 起引入的一項安全功能&#xff0c;旨在通過要求用戶在執行需要管理員權限的操作時進行確認&#xff0c;從而防止未經授權的系統更改。UAC 的設計初衷是提高系統安全性&#xf…

OpenCV ------圖像基礎處理(一)

在 OpenCV 的圖像處理世界中&#xff0c;除了圖像邊框處理&#xff0c;還有一些基礎且重要的函數和運算&#xff0c;它們在圖像編輯、融合等場景中發揮著關鍵作用。下面我們就來詳細介紹cv2.copyMakeBorder()函數的具體參數與作用&#xff0c;以及圖像加法運算和加權運算的相關…

Unity寶箱隨機事件實現指南

目錄 前言 一、簡單的使用 新增ChestInteractableEvents&#xff0c;定義寶箱交互事件 新增Box 箱子掛載腳本&#xff0c;配置事件 運行效果 二、完善各種事件 1. 完善生成金幣事件 效果&#xff0c;金幣飛出 2. 完善生成敵人事件敵人 效果 3. 完善生成藥水事件 效…

從單機到分布式:用飛算JavaAI構建可擴展的TCP多人聊天系統

1. 引言&#xff1a;飛算JavaAI與實時通信技術的融合 1.1 為什么需要TCP多人聊天室&#xff1f; 在即時通訊領域&#xff0c;基于TCP協議的聊天室是理解網絡編程核心概念的經典案例&#xff0c;其技術價值體現在&#xff1a; 底層協議控制&#xff1a;直接操作Socket實現可靠數…

用 mock 把 ES 單元測試@elastic/elasticsearch-mock 上手

一、為什么“單元測 ES”這么別扭&#xff1f; 測試 ES 代碼時&#xff0c;最直覺的做法是連真集群做集成測試&#xff08;Docker 起個 ES&#xff09;&#xff0c;但&#xff1a; 啟動 & 數據裝填慢&#xff0c;不利于并行&#xff1b;網絡/磁盤抖動影響穩定性&#xff1b…

《嵌入式Linux應用編程(三):Linux文件IO系統調用深度解析》

今日學習內容1. 文件IO與標準IO核心對比特性標準IO文件IO實現層C標準庫Linux內核系統調用緩沖機制全緩沖/行緩沖無緩沖&#xff08;實時讀寫&#xff09;操作對象FILE*流指針整型文件描述符&#xff08;fd&#xff09;移植性跨平臺兼容Linux特有典型應用場景普通文件操作硬件設…

數據結構之順序表相關算法題

目錄一、移除元素二、刪除有序數組中的重復項三、合并兩個有序數組總結一、移除元素 移除元素 - 力扣 思路一&#xff1a;就是創建一個臨時數組&#xff0c;對原數組進行遍歷&#xff0c;找出與val不同的數據放到新數組里&#xff0c;然后再將tmp中的數據導回原數組 這個思…

百勝軟件×華為云聯合賦能,“超級國民品牌”海瀾之家新零售加速前行

報道顯示&#xff0c;早在2012年海瀾之家就開始布局數字化征程&#xff0c;并于近年對公司全流程信息化進行綜合重構升級優化&#xff0c;在采銷協同、業財一體等方面突破原有架構&#xff0c;通過信息化架構的增強為業務發展提供支撐。作為新零售重要組成部分的海瀾電商信息化…

“Zen 5”: The AMD High-Performance 4nm x86-64 Microprocessor Core

Codenamed “Zen 5,” AMD’s next-generation, energy-efficient high-performance x86 core targets a wide array of client, server, and embedded markets. Fabricated in TSMC’s 4nm FinFET process, the 55mm2 core complex (CCX), shown in Fig. 2.1.1., contains 8.6…

Linux數據庫:【表的約束】【表的基本查詢】

目錄 一.表的約束 1.1空屬性 not null 1.2默認值 default ?空屬性和默認值一起使用&#xff1f; 1.3列描述 comment 1.4 zerofill 1.5 主鍵 1.6 自增長 1.7 唯一鍵 1.8 外鍵 二. 表的基本查詢 2.1 Create 2.1.1單行數據 全列插入 2.1.2多行數據 指定列插入 2…