注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

简约男人

简约,不能简单

 
 
 

日志

 
 
关于我

一个过分渴望被理解的人其实就是一个软弱的人, 勇往直前的力量来自斩钉截铁的决心,不是来自别人的理解.

网易考拉推荐

vc++调试(网摘)  

2012-01-14 13:21:42|  分类: 开发工具 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
(1)数据断点

    所谓数据断点,就是全局变量或者函数中的数计算的过程中,如果数据值本身发生了改变,就会触发断点。这里的数据有两种,一个是全局数据,一个函数内部的数据。


以全局数据value为例:

    a)按F10,运行程序,获取value的地址;

    b)Alt+F9,选择【DATA】->【Advanced】;

    c)在【Expression】中输入DW(0x0043178),【ok】回车;

    d)F5继续运行程序,则程序会在value发生改变的时候停住。

以局部数据total为例,

    a)按F10,运行程序,获取value的地址;

    b)Alt+F9,选择【DATA】->【Advanced】;

    c)在【Expression】中输入total,在【Function】输入test,【ok】回车;

    d)F5继续运行程序,则程序同样会在total发生改变的时候停住。

(2)条件断点

    条件断点和数据断点差不多。只不过,数据断点在数据发生改变的时候就会断住,而条件断点只有在满足一定的条件下才会有断住。比如说,我们可以让test子程序在index==5的时候断住。


    a)按F10,运行程序,获取value的地址;

    b)Alt+F9,选择【DATA】->【Advanced】;

    c)在【Expression】中输入index==5,在【Function】输入test,【ok】回车;

    d)F5继续运行程序,则程序同样会在index==5的时候停住。

(3)多线程调试

    在VC上面对多程序的调试比较简单。如果想要对程序进行调试的话,首先F10,开始运行程序。其次,我们需要等线程创建之后才能设置断点,不然我们看到的程序只有main函数一个thread。

    a)单击【Debug】,选择【threads】,那么我们就可以开始多线程调试了;

    b)如果需要对某一个thread挂起,单击对应的thread,选择【suspend】即可;

    c)如果需要对某一个thread重新调度,单击对应的thread,选择【resume】即可;

    d)如果需要查看特定thread的堆栈,那么选择那个thread,然后【Set Focus】,关闭threads对话框,在堆栈窗口中即可看到;    

    e)如果某个线程被挂住,那么此时所有的线程都挂住了,如果你step运行,所有的threads都会参与运行;

    f)如果需要对某一个thread进行调试,那么需要对其他的thread进行suspend处理  。

  评论这张
 
阅读(693)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017