VC++调试技术?

itti 2003-11-27 01:57:36
对于vc的调试,我历来是懂非懂,对于edit菜单中的breakpoints对话框,我的理解总是和需求不一样。
如何理解和利用breakpoints对话框?
例如:我想在一个函数中当该函数内部变量i等于1000时中断,如何设置?
再例如,想在watch窗口中查看指针x的第900个元素到第1000个元素之间的所有值,怎么察看?

请求各位给我一些调试技术,谢谢!
...全文
62 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyelf 2003-11-27
  • 打赏
  • 举报
回复
更加详细的请参考《Windows程序调试》这本书
itti 2003-11-27
  • 打赏
  • 举报
回复
To carbon107(<软件开发思想.h>) :

“只要在watch里输入x[900...1000]就可以看到了”

这好像不行的。
itti 2003-11-27
  • 打赏
  • 举报
回复
非常感谢各位,但愿还有更多更详细的技巧...
zhucde 2003-11-27
  • 打赏
  • 举报
回复
这儿有一些VC调试的技巧(转)
首先设置断点
在类观察器中设置函数断点,先选择一个函数,然后从相关菜单中选择设置断点,或按F9键. 你也可以使用工具栏中查找组合框来输入函数名,然后按F9设置断点.
PID向导
如果你想附加一个过程,却没有过程的ID,那么使用过程观察器(PVIEW). (PID). 要记住从十六进制转为十进制时,WIN95的PID是个负整数. 你可以用附件中的计算器来进行这种转换. 例如:当有一个十六进制的PID为FFFE64C3时,你可以这样做:
HexPid -> [Not] -> (DEC) -> [Not] -> DecPid
用这种方法,最后结果为-105277. 在MSDEV命令行中加上此过程的十进制PID:
start msdev -p -105277 -e -105277
要是在WINNT下转换PID,不要使用NOT操作.
自定义你的工具提示
如果想自定义调试器工具提示,只需要简单地修改文件AUTOEXP.DAT即可. 此文件位于MSDEV\BIN子目录下.如果你想自动地显示单码字符串, 可以在[Unicode]小节中加上 DisplayUnicode=1.
观察窗口
你可以改变观察窗口中变量和表达式的显示方式,当然,要指定一些格式, 例如:us(Unicode String),x(hexadecimal integer).如果你还想有一些自已的显示方式,可以通过在线帮助查找Formatting Watch Variables,或者察看AUTOEXP.DAT文件.
flyelf 2003-11-27
  • 打赏
  • 举报
回复
1、在该对话框的location页面的Breakat设置断点位置
2、按下Condition...按钮,在弹出的对话框中设置i == 1000,这样,当运行的时候,只有当i满足1000的时候才停下来
hardstudylulin 2003-11-27
  • 打赏
  • 举报
回复
你可以用断言呀,ASSERT和VERIFY,还有TRACE
如:ASSERT(i!=1000);
leon_z 2003-11-27
  • 打赏
  • 举报
回复
有一本书上面说得很好,上面有你想要了解的东东,我有一本,但是不知道被谁借了没还(烦),不太记得书名了,好象是 Debug丛书中间的 C++调试 什么的,楼主可以去书店里找一下,应该还有
carbon107 2003-11-27
  • 打赏
  • 举报
回复
1.可要在MessageBox("stop")那一行设定断点哦
carbon107 2003-11-27
  • 打赏
  • 举报
回复
1
可以编写个程序段
例如if (i == 1)MessageBox("stop");
然后你看看一些变量的值
2.
只要在watch里输入x[900...1000]就可以看到了
比如输入x[999]看的就是999的值

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧