在将0赋值给int之后,int的值立即为134518533

时间:2014-05-02 07:30:22

标签: c variables gdb

这是gdb给我的输出:

(gdb) next 
int i=0; 
(gdb) next 
int j=0; 
(gdb) print i 
$2 = 0 
(gdb) print j 
$3 = 134518533

感谢您的帮助。这完全超出我的范围

1 个答案:

答案 0 :(得分:4)

从您向我们展示的调试会话中,您错过了另一个next来获取行

j = 0;

执行。

因此,在执行上述行之前,print j所看到的是j 的值

调试会话的输出应如下所示:

(gdb) next 
int i=0; 
(gdb) next 
int j=0; 
(gdb) print i 
$2 = 0 
(gdb) print j 
$3 = 134518533
(gdb) next 
<some code for the next line to be executed by the **next** next command>
(gdb) print j 
$4 = 0