tangbolinuxyy 发表于 2014-12-11 10:44:50

请教:“我被重绘了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能否来解我疑惑?另还想请小甲鱼老师在后面的课程中能多讲解些关于窗口调试,小弟在此先行谢过





tangbolinuxyy 发表于 2014-12-12 23:13:06

自己顶一下:lol:

liyong2003 发表于 2014-12-16 20:23:51

你把 iRepaintTimes定义成 static 了吗?

tangbolinuxyy 发表于 2014-12-16 22:37:21

liyong2003 发表于 2014-12-16 20:23
你把 iRepaintTimes定义成 static 了吗?

是static类型的

liyong2003 发表于 2015-1-2 14:19:00

应该不会出问题的。要不你把代码打包上传下,我再看看。

Vikki 发表于 2015-1-3 17:10:01

搜索能够找到输入的用户名和注册码,后面Call太多,不好找到关键的点。

tangbolinuxyy 发表于 2015-1-5 16:46:31

liyong2003 发表于 2015-1-2 14:19
应该不会出问题的。要不你把代码打包上传下,我再看看。

链接: http://pan.baidu.com/s/1kTl6lIB
密码: pcqs

还请兄弟帮忙看看,困扰已久。

liyong2003 发表于 2015-1-6 10:27:53

你这个需要在 win xp 下安装 vs 6 调试
我没这个环境呀
真不好意思

liyong2003 发表于 2015-1-6 10:30:41

我看你的程序逻辑没有发现任何问题。

vs 2012 ultimate version
win 8.1 64 位,运行你的程序完全正常

tangbolinuxyy 发表于 2015-1-6 21:37:53

liyong2003 发表于 2015-1-6 10:30
我看你的程序逻辑没有发现任何问题。

vs 2012 ultimate version


我自己调试的时候就是在Win XP下有问题,调不出来。

不管怎样,还是谢谢你!

智商是硬伤 发表于 2015-9-9 11:40:21

{:7_146:}
页: [1]
查看完整版本: 请教:“我被重绘了1次”在XP下调试不出来