这是gdb给我的输出:
(gdb) next
int i=0;
(gdb) next
int j=0;
(gdb) print i
$2 = 0
(gdb) print j
$3 = 134518533
感谢您的帮助。这完全超出我的范围
答案 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