(VS2010)MFC程序中F5后有些断点无效
2017-07-19 12:47
411 查看
在学习MFC的过程中,将断点设置在主类的构造函数上时,F5后此处一直无法停下来(透明圆圈加感叹号),然而在里面加了死循环后,确实有效,说明构造函数是执行了的。
与此同时,类的其他成员函数却能正常断点:
为什么会出现这种情况呢?
有许多人给出了解决方案:
VS2010 调试中断点突然失效的解决办法
VS2010 旗舰版 MFC开发 调试断点无效的解决办法
然而我试过后(将CPP记事本打开改变存储方式没试过),发现没用。这时我感觉可能我的问题和他们的问题不太一样,于是再自己琢磨了下,想到当时为了把这个程序拿出来测试,改成的Release的解决方案配置,这是唯一一个与以往设置不同的地方。
于是,将Release改为Debug,断点正常。不求甚解。
CClientApp::CClientApp() { // 支持重新启动管理器 m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; //while(1); // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 CClientApp 对象 CSOCK theSock; CClientApp theApp;
与此同时,类的其他成员函数却能正常断点:
// CClientApp 初始化 BOOL CClientApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); // 创建 shell 管理器,以防对话框包含 // 任何 shell 树视图控件或 shell 列表视图控件。 CShellManager *pShellManager = new CShellManager; // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); CClientDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } // 删除上面创建的 shell 管理器。 if (pShellManager != NULL) { delete pShellManager; } // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; }
为什么会出现这种情况呢?
有许多人给出了解决方案:
VS2010 调试中断点突然失效的解决办法
VS2010 旗舰版 MFC开发 调试断点无效的解决办法
然而我试过后(将CPP记事本打开改变存储方式没试过),发现没用。这时我感觉可能我的问题和他们的问题不太一样,于是再自己琢磨了下,想到当时为了把这个程序拿出来测试,改成的Release的解决方案配置,这是唯一一个与以往设置不同的地方。
于是,将Release改为Debug,断点正常。不求甚解。
相关文章推荐
- Visual Studio 2013 调试MFC程序 ,断点无效
- VS2010 旗舰版 MFC开发 调试断点无效的解决办法
- VS2010 MFC中实现printf调试功能,即MFC程序利用控制台输出调试信息
- 使用vs2010创建MFC C++ Ribbon程序
- 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)
- 在vs2010下如何纯手写一个MFC程序
- vs2010断点无效
- 解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同
- VS2010打包MFC程序
- vs2010程序运行出错 link : fatal error lnk1123: 转换到 coff 期间失败: 文件无效或损坏
- 解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同
- 用vs2010开发基于VC++的MFC串口通信程序2***一台机子的两个串口进行通信****
- VS2010解决断点无效的问题
- VS2010环境下MFC,剪贴板“复制”程序。
- vs2010程序运行出错 link : fatal error lnk1123: 转换到 coff 期间失败: 文件无效或损坏
- VS2010编写的MFC串口程序
- 有些情况下vc6.0 MFC程序运行时出现Debug Assertion Failed 的解决方法
- VS2010MFC对话框程序中使用Windows Media Player播放音频或视频文件
- 解决 vs2010断点无效-源代码与原始版本不同
- vs2010 MFC程序编译过程中debug版本跟release版本的区别