2013-03-20 47 views
0

我正在使用gdb宏進行調試。 我在調試的系統是64位英特爾處理器。在調試過程中存儲一個64位值。Gdb宏:64位變量

在存儲變量值的宏中,值存儲爲32位。 例如下面的內容只能從int64temp打印32位。

set $val = $int64temp 

printf "value %d \n",$val, 

需要做什麼變化,使變量爲64位,使printf給我64位值? 注:我沒有通過運行設置弧 -

set architecture i386:x86-64 

回答

1

printf的 「值%d \ n」,$ VAL

,打印$ VAL爲int(這是32位即使在64位模式下)。嘗試

printf "value %ld\n", $val 
+0

謝謝,但問題似乎是複製到64位電弧,導致32位副本 – Tectrendz 2013-03-20 17:27:15