我正在阅读 Andrew Hunt 和 David Thomas 的“实用程序员”。在第 95 页,在名为“调试”的部分中,作者写道:
“有时你会检查一个变量,期望看到一个小的整数值,而不是得到类似 0x6e69614d 的东西。在你卷起袖子进行一些严肃的调试之前,快速查看一下这个损坏的变量周围的内存。通常它会给你一个线索。在我们的例子中,检查周围的记忆作为字符向我们展示:
20333231 6e69614d 2c745320 746f4e0a 1 2 3 M a i n St, \n No t 2c6e776f 2058580a 31323433 00000a33 o w n , \n X X 3 4 2 1 2\n\0\0
看起来有人在我们的柜台上喷了街道地址。现在我们知道去哪里找了。”
我不能完全理解这个例子。
1)在这种情况下,作者所说的“计数器”是什么意思?
2)为什么如果有人在那里喷洒街道地址,在我们的变量中我们应该看到内存地址而不是值“Main”?
3)上瘾,我还想问一下,哪些工具可以让你把“记忆邻居”看成角色?
注意:请注意内存地址(6e69614d),其中值:“Main”被保存,与我们在变量中找到的相同:0x6e69614d