每当调试进入到消息循环时,窗口不能显示,只有一个图标在任务栏出现,我想调试窗口程序一定有办法的,而且很普遍,只是我不知道而已,请告知于我,不胜感激,

解决方案 »

  1.   

    是不是你调试的那里窗口还没完全Create好?所以不能显示呢?
      

  2.   

    应该在响应函数里设置断点,程序运行到断点处自动进入跟踪模式。窗口程序运行中大部分时间都是在GetMessage,这是一个等待函数,会阻塞程序执行。
      

  3.   

    把响应函数写的详细一点,如在win32 api编程中,如果什么都不写,只调用DefaultWndProc就可以了,你可以拦截诸如WM_SIZE之类的,也可以加几个变量,如时间变量,当程序运行几秒后sizewindow才进入你的断点,那样就可以先显示窗口后进行调试了。
      

  4.   

     在VC++6.0中用MFC WIZARD 生成的对话框,设置断点可以显示窗口,调试也没有问题,在SDK中不行,jennyvenus 提的方法我回去再试;我发现调试程序也是很有意思的,比如你对框架程序不熟悉,可以边调试边观察哪些类的变量初始化了,我觉得一边想像类在内存中的布局,一边看程序会极深加强对程序的理解;起码不会被杂多的指针弄得不知所措;
      

  5.   

    对于这个问题我已经有一些了解了,系统专门提供了Breakpoints对话框来管理断点,对话框里面有个MESSAGES项,
    可以在里面消息断点.写入消息处理函数的名字,在底下的下拉 列表框选择一个消息,则每次这种消息到达,
    程序就中断。弹出Breakpoints对话框,方法是按快捷键CTRL+B或ALT+F9,或者通过菜单Edit/Breakpoints打开。不过这仍然不能满足我的要求,要不然我的想法是不合适的,但本人只想了解窗口的调试过程.期待有人提供帮助
      

  6.   

    jennyvenus   提的方法也是没有用的,我已经试过了(环境:visual c++ 6.0,windows xp sp2)