`
jgsj
  • 浏览: 961203 次
文章分类
社区版块
存档分类
最新评论

解决一个只在调试运行状态下才出现的bug

 
阅读更多

Win7 64位下,Visual Studio 2010,CFileDialog的DoModal异常崩溃。


按照下面步骤,不需要写一个字,全是MFC自己的代码,很容易重现该问题:

1、打开Visual Studio 2010。

2、新建一个MFC Application工程,MFC Application->OK->finish




3、添加x64平台配置:








4、调试运行(F5),便会出现一个多文档应用程序:

点击工具栏打开图标,或者File->Open...弹出一个打开对话框(CFileDialog):


5、选择C盘、D盘、或者E盘等,点击“新建文件夹”按钮,或者在空白处点击鼠标右键:




到此,就会看到程序崩溃了:





根据错误信息,好像是已经删除了的堆内存又被修改了,被调试器捕捉到了。

但是从MFC的代码有看不出问题在哪,微软的代码很诡异又改不了,从MFC源码上是解决不了这个问题了。

虽然在非调试运行状态下不会出问题,但这样毕竟让人不爽!


有一个解决方法是:卸载intel显示选项的右键菜单的控件。

regsvr32 /u igfxpph.dll




然后问题就这样被莫名其妙的解决了,到底是什么问题呢?






分享到:
评论

相关推荐

    IDEA掌握这些调试技巧Bug改得贼快(值得珍藏)

    通过调试,开发者可以实时查看程序的运行状态,定位问题所在,进而精确地修复代码中的错误。这不仅大大提高了开发效率,也确保了软件的质量和稳定性。 掌握IDEA中的调试技巧,还能帮助开发者提升对代码的理解和掌控...

    android下如何调试程序

    如果说让程序员最头疼的事情是看到无数bug、软件的发布遥遥无 期,那么让程序员最最头疼的事情是程序在调试状态下没有问题然而在实际运行中确有问题。调试程序是每个程序员工作中必不可少的部分,而且可以毫不夸张地...

    Windows 批处理调试器

    这是一个windows脚本调试器程序。 绿色:只需复制文件到同一目录下就可以了。 纯净:基本不使用注册表,只是在注册文件类型图标和文件关联时才使用了注册表。 无毒:绝对没有任何恶意代码,但是由于程序会自动产生...

    如何查杀运行状态下的EXE、DLL病毒

    如何查杀运行状态下的EXE、DLL病毒 一、对于启动进程的EXE病毒的查杀  1、在进程中可以发现的单进程EXE病毒或木马程序,如:svch0st.exe,有些杀毒软件可以发现且可以停掉进程,杀掉病毒;有些杀毒软件会报警...

    vc++6.0调试方法 还包括一些编译基础知识

    调试程序可以帮助了解程序是怎样运行的。...这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制: (1)关闭Project,(2)删除“工程名.ncb”文件,(3)重新打开工程

    调试九法:软硬件错误的排查之道 读书笔记

    从头开始:bug可能由一系列操作或者运行造成的,回到最初状态开始制造失败。 引发失败:试着让失败出现,而不是被动的等,尤其是间歇性失败。 但不要模拟失败:不要猜测失败产生的机理而去模拟一个系统,模拟的系统...

    测试培训教材

    在“Mercury Tours 1.0.1”中新建一个测试集: 把“Sign-On/Sign-Off”中的测试用例“Sign-On Page”添加到测试集中: 切换到“执行流”界面,添加“Sign-On Password”和“Sign-On User Name”两个测试用例: ...

    GDB轻松调试使用方法

    既然这样,我们就需要跟踪程序的执行情况,查看程序执行是否正常,当然这就需要有个让我们与执行程序交互的环境,调试工具提供一个能让程序在你的掌控下执行,并让你能够查看一些执行过程中的“内幕信息”的环境。...

    Windows Batch Debugger

    这是一个windows脚本调试器程序。 绿色:只需复制文件到同一目录下就可以了。 纯净:基本不使用注册表,只是在注册文件类型图标和文件关联时才使用了注册表。 无毒:绝对没有任何恶意代码,但是由于程序会自动产生...

    跨线程进行Windows窗体控件的访问

    访问 Windows 窗体控件...在调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图调用该控件,则调试器会引发一个 InvalidOperationException,并提示消息:“从不是创建控件 control name 的线程访问它。

    大名鼎鼎SWFUpload- Flash+JS 上传

    整个文件上传完成之后,下一个页面才会显示,并且不能对选择的文件做预设的文件检验,例如文件大小限制,文件类型限制。当文件上传时,用户获得的可用的反馈信息很少。 传统的HTML上传模式十分简单,线性的,几乎...

    易语言程序免安装版下载

    修改高级表格支持库,在双击单元格进入编辑状态后,不能收到第一个“字符输入”事件的BUG。 2. OpenGL支持库中的部分英文名称常量已改为中文,并统一在所有常量名称之前加前缀“GL_”,以减少与其它库的冲突机率。...

    C语言编写的一些基础库,适合0基础编写高性能服务器.rar

    Linux是一个操作系统软件。与Windows不同的是,Linux是一套凋谢源代码程序的、并能够自在流传的类Unix操作系统...通讯录删除人员操作的调试与BUG解决 文件保留于加载的接口层实现 文件保留业务实现 通讯录调试与运行

    SUDT AccessPort PC机串口(RS232)调试、监控的软件。

    目前只在2000/XP/2003平台上有效。 1.在使用监控功能前必须保证所要监控的端口处于关闭状态。 2.运行本程序,选择所要监控的端口并启动监控功能,然后启动要被监控的端口; B.程序第一次启动时自动设置语言,也...

    StrongOD v0.2.6

    用一个User权限的用户来启动进程,使进程运行在User权限下,无法对Admin建立的进程进行操作 运行这个需要在本地安全策略-用户权利指派里面将你的用户加入2个权限: 1,替换进程级记号...

    0x00000000内存不能为read修复工具

    个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。 作为应用程序,在每一次申请内存后都应该检查返回值是否为 0,如果是,则意味着出现了故障,应该采 取一些措施...

    ExtAspNet_v2.3.2_dll

    -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event ...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 ...第一部分 C#语言概述.4 ...第一章 ...第一章第一章 ...第一章 .NET 编 ... 1.1 Microsoft.NET——一场新的革命.4 ...这一天 微软公司正式推出了其下一代...

Global site tag (gtag.js) - Google Analytics