您好、欢迎来到现金彩票网!
当前位置:秒速牛牛官方网站 > 调试 >

VC++如何跟踪调试

发布时间:2019-07-03 06:33 来源:未知 编辑:admin

  怎样跟踪调试C++程序啊!我以前有的TC2.0编辑C程序,在TC的Addwatch上可以输入你定义的参数,然后按F8可以看见变量的值的变化过程!就是不知道在VC++6.0上怎样看自己定义的变量是如何...

  怎样跟踪调试C++程序啊 !我以前有的TC2.0编辑C程序,在TC的Add watch上可以输入你定义的参数,然后按F8可以看见变量的值的变化过程!就是不知道在VC++6.0上怎样看自己定义的变量是如何变化的!!希望各位大虾帮我一下!我没有积分了!上次用完了 !希望大家能帮我一下!我将相当感谢……急…………

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部VC调试,一般是需要设置一个断点的,譬如1)int i;2)int j;如果在int j处设置了断点,那么当程序运行到int j时,程序停止,这个时候就可以查看程序各种变量或执行状态了,简单的办法就是把鼠标停在要看的变量上面。会有一个个小的弹出窗口来显示变量状态。

  1)设置断点,一种是在代码行的最左边鼠标点击一下,会有个红点出来。快捷键是,将编辑光标--即插入符(不是鼠标光标)停在要设断点的代码行,然后按F9,就会有红点出来。

  当把断点设在了4这里,由于int恒为0,因此断点设在4这里,程序是不会经过,也不会停下来让我们查看状态的。并且此时的红点是一个空心红点,表示非命中断点。

  3)鼠标右键单击红色断点,会弹出调试快捷菜单,里面会有更丰富的断点命中条件设定,不多说了,楼主自己可以试一下。

  5)如果在上面的例子中7设了断点后,程序执行到该处停下时,7这行的代码是还未被执行的,这个时候j应该等于3,不是5.

  6)如果断点被命中之后,并不想让程序继续执行下去,而只想让程序运行被设断点的这一行,那么只要按F10就可以了。如上面的例子中7设了断点后,程序运行到这里停止,接下去按F10,程序还是会停下,这个时候的程序状态是运行完j +=2的状态,即j等于5.

  7)断点不是万能的,如在画窗口的OnDraw函数里是不能设断点的,一设断点,程序停了下来,然后按F5继续执行,由于程序被中断后继续运行,窗口需要被画到屏幕上,这个时候又会触发OnDraw函数,并且断点又会被命中,形成死循环。在很多地方是不能设断点的。相应的情况还有多层嵌套的DLL调用。

  9)MFC有个库类专门是将调试信息打印到“输出窗口”中的, CDumpContext的一个对象实例为afxDump。

  这个调试类是非常强大的,需要进行专门学习,深入的话,呵呵觉得是异常厉害!

  10)TRACE宏默认无法打印UNICODE中文调试信息,要想打印UNICODE但不改变整个工程的字符集,可以在TRACE之前,写代码:

  呵呵,没分呀,居然给你写了这么多,以上都是我的一些常用调试技巧,有些很简单,有些调试技巧比较高级,需要另外进行学习。一开始,建议楼主多使用F9设断点。一定要保证断点被命中,这个时候楼主一定要看一下VC的菜单是有变化的,尤其是“调试”菜单,会多出很多菜单项,可以自己研究研究,还有就是断点命中后,VC窗口也会不一样的,会出现“输出”、“错误”、“监视”等调试窗口,可以试着把关心的程序变量,选中然后拖到监视窗口里,又会出现不一样的东西哦。还可以在监视窗口中写代码:“@err, hr”,代表的是程序线程的error变量。高级的还有反汇编窗口,寄存器窗口,内存窗口等用得相对少些。

  2、F5开始调试, 当程序运行到断点处就会停下来, 这时你可以通过调用堆栈/局部变量等调试窗口查看执行状态等, 这时也可以选择逐步/逐过程等方式进行跟踪调试。

http://sec-ir.com/diaoshi/526.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有