我正在使用gdb宏进行调试。 我正在调试的系统是64位英特尔处理器。调试中的Varable存储64位值。
在存储变量值的宏中,值存储为32位。 例如,以下打印仅来自int64temp的32位。
set $val = $int64temp
printf "value %d \n",$val,
将变量设为64位需要进行哪些更改才能使printf给出64位值? 注意:我通过运行 -
设置了弧set architecture i386:x86-64
答案 0 :(得分:1)
printf“value%d \ n”,$ val
将$ val打印为int
(即使在64位模式下也是32位)。尝试
printf "value %ld\n", $val