gdb編程打印全局變量

以某個全局數組爲例說明如何gdb編程打印所有變量:

寫變量遍歷代碼

創建search.gdb文件寫如下內容:

define print_hash_table
	set $cnt =1
	set $use=2
	while $cnt
		set $hash_entry=(g_hash_entry_t *)(hash_table.table + 123 * $cnt)
		if $hash_entry.valid == 0x1
			p /x *$hash_entry
		end
		if $cnt < 1024
			set $cnt = $cnt + 1
		else
			loop_break
		end
	end
end

使用方法

gdb process process.core
source search.gdb
print_hash_table
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章