1. 程式人生 > >golang 生成gdb 除錯檔案 以及gdb命令

golang 生成gdb 除錯檔案 以及gdb命令

使用生成可供gdb 除錯的二進位制檔案

go build -o test -gcflags "-N -l" file.go

使用gdb test 即可進入除錯模式 下面是gdb的命令 可以根據自己的需要執行對應的命令

start                         //開始除錯
n                             //一條一條執行
step/s                        //執行下一條,如果函式進入函式
backtrace/bt                  //檢視函式呼叫棧幀
info/i locals                 //檢視當前棧幀區域性變數
frame/f                       //選擇棧幀,再檢視區域性變數
print/p                       //列印變數的值
finish                        //執行到當前函式返回
set var sum=0                 //修改變數值
list/l 行號或函式名             //列出原始碼
display/undisplay sum         //每次停下顯示變數的值/取消跟蹤
break/b  行號或函式名           //設定斷點
continue/c                    //連續執行
info/i breakpoints            //檢視已經設定的斷點
delete breakpoints 2          //刪除某個斷點
disable/enable breakpoints 3  //禁用/啟用某個斷點
break 9 if sum != 0           //滿足條件才啟用斷點
run/r                         //重新從程式開頭連續執行
watch input[4]                //設定觀察點
info/i watchpoints            //檢視設定的觀察點
x/7b input                    //列印儲存器內容,b--每個位元組一組,7--7組
disassemble                   //反彙編當前函式或指定函式
si                            // 一條指令一條指令除錯 而 s 是一行一行程式碼
info registers                // 顯示所有暫存器的當前值
x/20 $esp                    //檢視記憶體中開始的20個數

相關推薦

golang 生成gdb 除錯檔案 以及gdb命令

使用生成可供gdb 除錯的二進位制檔案go build -o test -gcflags "-N -l" file.go使用gdb test 即可進入除錯模式 下面是gdb的命令 可以根據自己的需要執行

pom檔案以及maven命令

一、pom檔案 1.依賴 <dependency> <groupId>com.google.guava</groupId> //組織名,一般為包名 <artifactId>guava</artifa

DC生成.lib的步驟以及相關命令

首先需要澄清一點的是,.lib不是library的縮寫,而是liberty檔案的縮寫,關於liberty檔案,可以參考另外一篇筆記ELC工具的使用.md中關於liberty格式檔案的說明。 另外需要說明的是,需要區分兩個Encounter工具,第一個是

【軟體開發底層知識修煉】十八 快速學習GDB除錯五 使用GDB進行除錯的一些小技巧

上一篇文章學習瞭如何使用GDB進行函式呼叫棧的檢視:【軟體開發底層知識修煉】十六 快速學習GDB除錯四 使用GDB進行函式呼叫棧的檢視 本篇文章是GDB除錯快速學習系列的最後一篇。將綜合前幾篇文章做一個小的總結以及介紹一些在除錯中使用的小技巧

【軟體開發底層知識修煉】十七 快速學習GDB除錯四 使用GDB進行函式呼叫棧的檢視

上一篇文章學習瞭如何使用GDB資料斷點進行記憶體監測:【軟體開發底層知識修煉】十五 快速學習GDB除錯三 使用GDB的資料斷點監測變數是否改變 本篇文章繼續上一篇文章的學習:如何使用GDB進行函式呼叫棧的檢視 文章目錄

【軟體開發底層知識修煉】十六 快速學習GDB除錯三 使用GDB的資料斷點監測變數是否改變

上一篇文章我們學習瞭如何使用GDB進行軟體斷點除錯和硬體斷點除錯:【軟體開發底層知識修煉】十五 快速學習GDB除錯二 使用GDB進行斷點除錯 本篇文章繼續上一篇文章的學習,如何使用GDB的資料斷點監測記憶體中的變數是否被改變

在Keil C51下生成LIB庫檔案以及如何使用LIB庫檔案

如何生成LIB庫檔案1.首先準備好生成LIB庫檔案對應的.c和.h檔案,在這裡用到的.c和.h檔案分別是:"reg303.h""rjwf303_flash.h""rjwf303_flash.c""cos_security.h""cos_security.c"2.新建一個專案,

C++程式崩潰時,生成dmp除錯檔案

包含如下標頭檔案 和 引用Lib庫 #include <dbghelp.h> #pragma comment(lib, "dbghelp.lib")定義 LONG WINAPI MyUnh

gdb簡單指令以及core檔案除錯——Linux除錯基本技能

core檔案除錯步驟——直接定位段錯誤堆疊 1、ulimit -c unlimited設定core檔案無限制 2、echo “/root/core” > /proc/sys/kernel/core_pattern制定core檔案生成的路徑,注意路徑後要加上core 3、在本地執

【Linux】GDB除錯多執行緒和多程序以及Core檔案

GDB偵錯程式 基本概念 GDB是GNU開源組織釋出的一個強大的UNIX下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像VC、BCB等IDE的除錯,但如果你是在UNIX平臺下做軟體,你會發現

CMake生成的可執行檔案能夠gdb除錯

      採用 $ gdb   除錯時 出現 如下 錯誤:       (no debugging symbols found)  解決辦法 1      首先在CMakeLists.txt中加入       SET(CMAKE_BUILD_TYPE "Debug

Linux中常用的操作命令和vi操作命令以及gdb除錯命令

Linux簡介及Ubuntu安裝常見指令系統管理命令打包壓縮相關命令關機/重啟機器Linux管道Linux軟體包管理vim使用使用者及使用者組管理檔案許可權管理Linux簡介及Ubuntu安裝Linux,免費開源,多使用者多工系統。基於Linux有多個版本的衍生。RedHat

CMake生成可用gdb除錯的可執行檔案

CMake使用指南: 1 首先在CMakeLists.txt中加入 SET(CMAKE_BUILD_TYPE "Debug") 在下面加入: SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -W

GDB除錯命令(轉載)

1.啟動除錯 前置條件:編譯生成執行碼時帶上 -g,如果使用Makefile,通過給CFLAGS指定-g選項,否則除錯時沒有符號資訊。 gdb program //最常用的用gdb啟動程式,開始除錯的方式 gdb program core //用gdb檢視core du

Linux編譯動態庫和gdb除錯命令

Linux編譯動態庫和gdb除錯命令TOC IPC命令: 拷貝到當前目錄: cp …/day01/cleanipc . 清除ipc命令: cleanipc zhidao101 all 檢視網路連線: netstat -an | grep 8001 檢視使用者程序: ps -u

GDB除錯core檔案樣例(如何定位Segment fault)

core dump又叫核心轉儲, 當程式執行過程中發生異常, 程式異常退出時, 由作業系統把程式當前的記憶體狀況儲存在一個core檔案中, 叫core dump. (linux中如果記憶體越界會收到SIGSEGV訊號,然後就會core dump)在程式執行的過程中,有的時候我們會遇到Segment fault

gdb除錯core檔案快速定位core dump位置

core dump又叫核心轉儲, 當程式執行過程中發生異常, 程式異常退出時, 由操作系統把程式當前的記憶體狀況儲存在一個core檔案中, 叫core dump. (linux中如果記憶體越界會收到SIGSEGV訊號,然後就會core dump) 在程式執行的過程中,有的時

比較全面的gdb除錯命令 (轉載)

轉自http://blog.csdn.net/dadalan/article/details/3758025 用GDB除錯程式 GDB是一個強大的命令列除錯工具。大家知道命令列的強大就是在於,其可以形成執行序列,形成指令碼。UNIX下的軟體全是命令列的,這給程式開發提代供了極大的便利,命令列軟體

gdb除錯工具常用命令

編譯程式時需要加上-g,之後才能用gdb進行除錯:gcc -g main.c -o main gdb中命令: 回車鍵:重複上一命令 (gdb)help:檢視命令幫助,具體命令查詢在gdb中輸入help + 命令,簡寫h (gdb)run:重新開始執行檔案(run-text:載入文字檔

gdb除錯coredump檔案,函式名稱是問號

google key: gdb問號 今天總算解決了一個大的bug,爽! 我的程式crash,有了coredump檔案,在Linux PC上用arm-linux-gdb debug it. The result is: #0  0x4022b178 in