今天遇到个超级奇怪的问题,昨天还好端端的程序,今天用VS打开后,在关闭主窗口的时候居然弹出错误提示:xx.exe 中的 0x7c92e4df 处最可能的异常: "0xC0000008: An invalid handle was specified".当时都郁闷了,你说奇了怪了,什么代码都没改,只是清理了下解决方案而已,不至于嘛!然后,就想着是不是以下MainForm_FormClosing事件中的代码问题:

仔细审察后,没发现什么异常问题.只是调试到WndProc函数后,程序就出现了错误提示.

满心欢喜以为找到了问题所在,可是却没有一点提示信息,当时是无从下手啊.不仅这样,很奇怪的是,明明我已经终止了程序,但是再次启动调试却不可以,跑到进程里一看,已经莫名奇妙有个同样的程序在运行,想终止它也不行.最后把VS关了,再看进程,没有了.把我又给郁闷了,什么情况?

"我们的项目是C#做的界面,C++做的底层,调用了不少的动态链接库,会不会是调用动态库的问题",脑袋只是一闪而过,但立刻打消了这个念头.因为程序昨天下班还是好好的嘛.其实,自己做的程序,心里特别得知道是不是程序的问题.我当时就相信不是程序的问题,可能是其它什么原因导致的.

自己捣鼓了一会儿无果,就请教Leader帮忙看看(有近十年编程经验,我挺佩服的一个人),我就简单描述下吧:

首先问题出在wndproc函数内,调试未果,于是我们就用spy++捕获消息源,折腾一会儿也是无果.因为,你根本就看不到任何提示,任何可能引起异常的代码.没有一丁点儿头绪.加上进程里关不掉的程序.我们更加坚信不是代码问题,于是我试着用发布版的代码,启动关闭程序都没有问题.看来问题出在调试代码的时候.但是调试过程中能出现什么问题呢?实在是又没头绪了,于是Leader说把代码发给他,他在他的电脑上完美运行,未出现问题.这下有眉目了,至少可以判断不是代码的问题了.但又是什么原因导致的呢?先从启电脑,再到今天安装了什么软件,把无关的破软件关掉卸载...等等,我们都尝试了.问题还是没有解决,难不成,我得重装系统了么.赶上中午吃饭,也不再想这个问题了.下午一上班,google了下,看见也有类似问题,但都是一些没有解决的,倒是有个发了个c/c++的给了我提示,我就把对我有用的文字截图如下:

虽然问题不是一样,但很可能就是我的程序调用了其它的dll,于是就用Leader写的一个可以看运行的程序进程中调用了哪些dll的程序,打开一个正常的程序,打开一个调试中出现问题的程序,对比它们,发现出现问题的程序比正常程序多调用了4个dll,排除系统动态库,以及本程序调用的动态库,发现多的4个动态库,居然是其它程序的,MMD,终于找到问题所在了,然后用Dependency walker查看这些动态库里面调用了些什么函数,发现都有个DbgPint函数,它是用来调试的.

果断卸载关联软件,问题解决.感谢Leader.

xx.exe 中的 0x7c92e4df 处最可能的异常: 0xC0000008: An invalid handle was specified的更多相关文章

  1. xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突(当指针访问异常时,应考虑是不是对象未创建)。

    xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突

  2. 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点

    动态链接库中分配内存引起的 本文主要是探讨关于在动态链接库分配的内存在主程序中释放所产生的问题,该问题是我在刚做的PJP工程中所遇到的,由于刚碰到之时感动比较诡异(这也是学识不够所致),所以将它写下来 ...

  3. 有未经处理的异常(在 xx.exe 中): 堆栈 Cookie 检测代码检测到基于堆栈的缓冲区溢出。

    一般这个问题是数组越界. 我产生这个异常的代码是这句:memcpy(tmp_cert.byKey, m_row[2], 255); 255的长度超过了char数组tmp_cert.byKey的长度.

  4. 转:"在已损坏了程序内部状态的XXX.exe 中发生了缓冲区溢出"的一种可能原因

    我的问题跟原作者的问题差不多.头文件和DLL不匹配导致的. 原文链接:http://blog.csdn.net/u012494876/article/details/39030887 今天软件突然出现 ...

  5. XX.exe 系统找不到指定文件

    错误:unable to start ... XX.exe 系统找不到指定文件 今天调试一个项目,关于泊松融合的,项目名叫PoissonEditing,编译通过之后一直再报错,找不到PoissonEd ...

  6. 其原因可能是堆被损坏,这说明**.exe中或它加载的任何DLL中有Bug

    最近在写一个写日志文件的线程时,调用了HeapAlloc/HeapFree 申请/释放堆缓冲内存.调用HeapFree释放有个条件就是,日志的空闲缓冲队列中内存块超过100个.在测试的时候,发现调用H ...

  7. 页面打开 抛出w3wp.exe 中发生未处理异常

    页面打开 抛出w3wp.exe 中发生未处理异常

  8. 没有 RunInstallerAttribute.Yes 的公共安装程序。在 C:/Program/xx.exe 程序集中可能可以找到

    今天在装服务的时候,装了半天总是提示 没有 RunInstallerAttribute.Yes 的公共安装程序.在 C:/Program/xx.exe 程序集中可能可以找到“Yes”属性. 才发现同事 ...

  9. 把exe嵌入到自己的exe中。delphi xe3

    下面是一个把exe程序嵌入到我们自己的exe中.开发环境 Delphi XE3 Version 17.0.4625.53395.OS环境WIN7 SP1,由于xe3版本的引用库发生变化.换成其他版本的 ...

随机推荐

  1. ArcGIS 开发的一些知识学习点

    由于文章太多,不便转载,现主要列举如下: ArcGIS Runtime支持的GP工具列表 ArcGIS Runtime支持的GP工具列表 目录(?)[-] Standard版本Standard 空间分 ...

  2. [转] C#操作Excel文件

    来自  jbp74c37ad170 的文章EXCEL编程语句有那些啊 全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.Application ...

  3. 点击图片名,让图片在pictureBox中显示 z

    public string filepath; public Form1() { InitializeComponent(); } private void button1_Click(object ...

  4. Http中Cookie和Session介绍

    先介绍下B/S系统的工作的完整过程.首先客户端的浏览器发出请求,服务端的webserver接受到请求后,调用相关请求的页面进行处理,处理完后将结果发送给客户端的浏览器进行显示.只能是浏览器向webse ...

  5. 北邮网关登录python脚本

    闲来无聊,来码一发 安装 pip install byrlogin 登录 登出

  6. Python的OO思想

    想当年大二的时候,在学校学习Java, 最牛逼的OO思想,用了3页纸就讲完了,还是清华大学出版社的呢. 后来全凭自己啃视频,啃代码才搞懂什么叫做OO. 现在学习Python,就用自己的方式,好好学习一 ...

  7. LeetCode Database: Consecutive Numbers

    Consecutive Numbers Write a SQL query to find all numbers that appear at least three times consecuti ...

  8. memset()实现及细节

    memset是计算机中C/C++语言函数.将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为 ...

  9. 常用SQL整理

    整理了日常用到的一些sqls 1.插入表 insert into table_B select * from table_A 2.清空表 truncate table test #清空表,结构还存在d ...

  10. hadoop的simple认证

    目前Hadoop的稳定版本为1.2.1,我们的实验就在hadoop-1.2.1上进行 Hadoop 版本:1.2.1 OS 版本: Centos6.4 环境配置 机器名 Ip地址 功能 用户 Hado ...