在使用gdb除錯過程中,經常需要檢視變數的值

2021-09-07 19:32:47 字數 781 閱讀 8944

在使用gdb除錯過程中,經常需要檢視變數的值,最常用的方法:

(gdb) print

一般情況下,列印並不存在問題。但當乙個字串比較長時,列印出來的內容不完整,內容的最後為"..."

例如:(gdb) p (char*)0x23b744a98

$19 = 0x23b744a98 "obbs:s:1.3:,,,,,,,,,,,,,,]}]}"

ok.這次列印已經能顯示整個字串所有內容。

總結:使用set print elements [n] 來更改列印字串的長度。

參考:(gdb) help set print elements

set limit on string chars or array elements to print.

"set print elements 0" causes there to be no limit.

gdb列印完整字串內容

在使用gdb進行程式除錯時,經常遇到列印字串內容的情況。但是很遺憾,預設情況下,當待顯示的字串比較長時,gdb只會顯示部分字串內容,給程式的除錯帶來不便。

通過如下命令可以實現gdb中列印完整字串內容:

set print element 0

here is an example. if a program says

int array = (int ) malloc (len * sizeof (int));

you can print the contents of array with

p *array@len

在使用gdb除錯過程中,經常需要檢視變數的值

在使用gdb除錯過程中,經常需要檢視變數的值,最常用的方法 gdb print 一般情況下,列印並不存在問題。但當乙個字串比較長時,列印出來的內容不完整,內容的最後為 例如 gdb p char 0x23b744a98 19 0x23b744a98 obbs s 1.3 ok.這次列印已經能顯示整個...

Sqlserver儲存過程中經常使用的迴圈

1 游標的使用 sql server游標的使用 declare date2 datetime declare tabb cursor cursor for select date,weeknum,studytime from tabb where date date order by date op...

ubuntu 使用過程中經常需要用到的小技巧

1.使用vim開啟乙個檔案,需要複製幾行資訊到其他檔案中,需要用到剪貼簿。首先使用esc鍵進入命令模式,使用v命令,進行行選擇模式,使用jk選擇需要的目標行,使用 y進行複製,此時內容已經被複製到剪貼簿,可以再其他程式中進行使用。2.history命令,可以使用以前使用的某個命令中的某些引數。比如 ...