实用技巧续篇

1.查看临时变量的值

这里确定调试开始以后,我们找到调试窗口里面的监视,就会出现图片里面的这个图片,在里面输入自己定义的名称,如何呢,然后继续按F10,逐步走下去,同时观察右边的数值的变化就可以了。

2.查看内存信息 
在调试开始之后,我看变量变化看不出来哪里变了怎么办呢,我想了解一下,这个变量到底啥关系呢,这就得我们去访问地址了,就像你想知道两个人有什么关系,就得去打探这两人离得近不近,住的近不近是吧,所以我们这里要调出地址来看看:

这里对于新人不是很友好,但是没关系,你把前面一串的字符记成门牌号就行了,就像我们平常很容易就出现的访问越界的问题,如果我知道了你的地址,也知道了目的地的地址,是不是就知道往哪走了?,后面的是十六进制的具体数值,这里不解释,后面栈帧创建的适合我再写。也就是说前面就是你这个局部变量,或者你这个数组首元素的地址了。

3.查看调用堆栈

这里调用堆栈,可以清晰的反应函数的调用关系以当前调用所处的位置。这个也和上面一样,在栈帧创建的时候一起理解会更容易。

上面的图里都用到了反汇编,为什么呢,因为我们的vs是编译器吗,不,有失偏颇。我们的vs其实是一个集成开发环境平台,具有这个汇编的功能,自然有反汇编的功能,就类似于加密和解密。

接下来我们看看这个反汇编怎么进入:

(1)第一种方式:右击鼠标,选择【转到反汇编】:

(2)第二种方式:还是调试界面直接进入,简单粗暴。

最后一点4.查看寄存器信息

这里可以看我们在使用的寄存器的具体信息,也就是之前提到的esp,ebp那些,大致有个了解就行。

最后多动手尝试调试,才能有进步。 一定要熟练掌握调试技巧。

初学者可能80%的时间在写代码,20%的时间在调试。

但是一个程序员可能20%的时间在写 程序,但是80%的时间在调试。

我们现在所看到的的都是一些简单的调试。

以后可能会出现很复杂调试场景:多线程程序的调试等。

所以快捷键的使用就尤为重要了!

最后感谢您的观看。我们一起进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值