1.查看临时变量的值
这里确定调试开始以后,我们找到调试窗口里面的监视,就会出现图片里面的这个图片,在里面输入自己定义的名称,如何呢,然后继续按F10,逐步走下去,同时观察右边的数值的变化就可以了。
2.查看内存信息
在调试开始之后,我看变量变化看不出来哪里变了怎么办呢,我想了解一下,这个变量到底啥关系呢,这就得我们去访问地址了,就像你想知道两个人有什么关系,就得去打探这两人离得近不近,住的近不近是吧,所以我们这里要调出地址来看看:
这里对于新人不是很友好,但是没关系,你把前面一串的字符记成门牌号就行了,就像我们平常很容易就出现的访问越界的问题,如果我知道了你的地址,也知道了目的地的地址,是不是就知道往哪走了?,后面的是十六进制的具体数值,这里不解释,后面栈帧创建的适合我再写。也就是说前面就是你这个局部变量,或者你这个数组首元素的地址了。
3.查看调用堆栈
这里调用堆栈,可以清晰的反应函数的调用关系以当前调用所处的位置。这个也和上面一样,在栈帧创建的时候一起理解会更容易。
上面的图里都用到了反汇编,为什么呢,因为我们的vs是编译器吗,不,有失偏颇。我们的vs其实是一个集成开发环境平台,具有这个汇编的功能,自然有反汇编的功能,就类似于加密和解密。
接下来我们看看这个反汇编怎么进入:
(1)第一种方式:右击鼠标,选择【转到反汇编】:
(2)第二种方式:还是调试界面直接进入,简单粗暴。
最后一点4.查看寄存器信息
这里可以看我们在使用的寄存器的具体信息,也就是之前提到的esp,ebp那些,大致有个了解就行。
最后多动手尝试调试,才能有进步。 一定要熟练掌握调试技巧。
初学者可能80%的时间在写代码,20%的时间在调试。
但是一个程序员可能20%的时间在写 程序,但是80%的时间在调试。
我们现在所看到的的都是一些简单的调试。
以后可能会出现很复杂调试场景:多线程程序的调试等。
所以快捷键的使用就尤为重要了!
最后感谢您的观看。我们一起进步!
标签:实用技巧,续篇,调用,查看,地址,反汇编,我们,调试 From: https://blog.csdn.net/chenyuhao2024/article/details/145081566