请教:“我被重绘了1次”在XP下调试不出来
问题来源:【课后作业】第0006讲:窗口过程课后测试题---------->动动手2题目:编写一个窗口程序,中间显示“嗨,我是一个窗口,主人刚刚把我做出来了。”,然后当窗口被重绘的时候显示“噢,我被重绘了n次”(n为当前重绘的次数)
调试问题:"我被重绘了1次" 在XP下调试不出来,但是在Win7下可以调出来,运行的时候在两个系统下都是正常的
我的调试步骤(XP下):
1、在VS2010下 F5 先运行起来
2、将显示"Hello Windows98"的窗口最小化
3、在 "iRepaintTimes++;" 这行 F9 打断点,如图:
4、单击hellowin窗口,即将窗口最大化
5、程序运行至 "iRepaintTimes++;"这行,如图:
6、F10走两步之后,将之前的断点去掉,F5运行后如图:
我的思考:出现这个问题,我也自己调试了好久,发现我的一次窗口最大化在XP下发送了两次重绘消息(WM_PAINT),所以就直接显示的是"我被重绘了2次",但真心不知道这是为什么?
所以还请各位XDJM能否来解我疑惑?另还想请小甲鱼老师在后面的课程中能多讲解些关于窗口调试,小弟在此先行谢过
自己顶一下:lol: 你把 iRepaintTimes定义成 static 了吗? liyong2003 发表于 2014-12-16 20:23
你把 iRepaintTimes定义成 static 了吗?
是static类型的 应该不会出问题的。要不你把代码打包上传下,我再看看。 搜索能够找到输入的用户名和注册码,后面Call太多,不好找到关键的点。 liyong2003 发表于 2015-1-2 14:19
应该不会出问题的。要不你把代码打包上传下,我再看看。
链接: http://pan.baidu.com/s/1kTl6lIB
密码: pcqs
还请兄弟帮忙看看,困扰已久。 你这个需要在 win xp 下安装 vs 6 调试
我没这个环境呀
真不好意思 我看你的程序逻辑没有发现任何问题。
vs 2012 ultimate version
win 8.1 64 位,运行你的程序完全正常
liyong2003 发表于 2015-1-6 10:30
我看你的程序逻辑没有发现任何问题。
vs 2012 ultimate version
我自己调试的时候就是在Win XP下有问题,调不出来。
不管怎样,还是谢谢你! {:7_146:}
页:
[1]