VC中MFC从哪里开始运行,MFC怎么调试

VC中MFC从哪里开始运行,MFC怎么调试,第1张

在MFC中的执行顺序是这样的,首先Windows调用WinMain函数,WinMain里面调用AfxWinMain函数,注意你的代码现在来了,AfxWinMain函数调用对应你程序的APP类(这个类是基于CWinApp的,CWinApp又是基于CWinThread的)的InitInstance函数,如果InitInstance返槐银回TRUE,就调用CWinThread的Run函数,这个函数你可以重载,但是一般不重载。在Run函数里面是Windows的消息循环,就是Win API编程里面的那个while循环以及TranslateMessage和DipatchMessage,当然MFC弄得比卜好较复杂,有一个PumpMessage的机制。当程序收到WM_QUIT消息之后,Run函数返回,紧接着型明铅CWinThread::ExitInstance会被调用,如果你重载了ExitInstrance则会调用你的。最后程序结束。如果InitInstance返回FALSE,那么Run函数就不会执行,直接调用ExitInstance,然后程序结束。

有时候下断点并不是好主意,特别是对于调试关于显示/绘图的代码,这种代码如果想用断点调试你得把你的程序设置成总是前端显示的窗口,如任务管理器那样.

另外你可以在合适的位置让插入一些代码让扬声器发生如:插入MessageBeep,Beep等函数

还可以为程序创建一个控制台窗口,输出一些调试信息.还可以禅和使用文件来纪录调试输出信息.

如果使用控制台(就是DOS程序那样的窗口,在任何位置调用AllocConsole()就能得到一个)你最好封装一个专门输出调试信息的类或者一套完成此功能的函数,这样不用蔽埋每次都写程序都写一大段复杂的代码.我就是这样做的宏袭蚂.

这种控制台的输出要用WriteConsole以前的那种printf好像不能正常

这里有一系列控制台输出的文档:

http://msdn.microsoft.com/en-us/library/ms682073(v=vs.85).aspx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12326078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存