我正在做CSAPP的buflab Level 4,无法正确获取我的漏洞利用代码。当我使用gdb调试它时,我发现了这些:
(gdb) si
0x08048d0a in getbufn ()
(gdb) si
0x55683648 in _reserved ()
(gdb) si
0x5568364a in _reserved ()
(gdb) si
0x5568364c in _reserved ()
(gdb) x /x 0x5568364a
0x5568364a <_reserved+1037898>: 0x09090909
(gdb) si
0x5568364e in _reserved ()
(gdb)
nop
的操作码是1字节0x09,因此gdb通常应该逐字节地执行它,但实际上它并不是:地址在每一步中递增0x02。为什么会这样?