xx.exe 中的 0x7c92e4df 处最可能的异常: 0xC0000008: An invalid handle was specified
今天遇到个超级奇怪的问题,昨天还好端端的程序,今天用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的更多相关文章
- xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突(当指针访问异常时,应考虑是不是对象未创建)。
xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突
- 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
动态链接库中分配内存引起的 本文主要是探讨关于在动态链接库分配的内存在主程序中释放所产生的问题,该问题是我在刚做的PJP工程中所遇到的,由于刚碰到之时感动比较诡异(这也是学识不够所致),所以将它写下来 ...
- 有未经处理的异常(在 xx.exe 中): 堆栈 Cookie 检测代码检测到基于堆栈的缓冲区溢出。
一般这个问题是数组越界. 我产生这个异常的代码是这句:memcpy(tmp_cert.byKey, m_row[2], 255); 255的长度超过了char数组tmp_cert.byKey的长度.
- 转:"在已损坏了程序内部状态的XXX.exe 中发生了缓冲区溢出"的一种可能原因
我的问题跟原作者的问题差不多.头文件和DLL不匹配导致的. 原文链接:http://blog.csdn.net/u012494876/article/details/39030887 今天软件突然出现 ...
- XX.exe 系统找不到指定文件
错误:unable to start ... XX.exe 系统找不到指定文件 今天调试一个项目,关于泊松融合的,项目名叫PoissonEditing,编译通过之后一直再报错,找不到PoissonEd ...
- 其原因可能是堆被损坏,这说明**.exe中或它加载的任何DLL中有Bug
最近在写一个写日志文件的线程时,调用了HeapAlloc/HeapFree 申请/释放堆缓冲内存.调用HeapFree释放有个条件就是,日志的空闲缓冲队列中内存块超过100个.在测试的时候,发现调用H ...
- 页面打开 抛出w3wp.exe 中发生未处理异常
页面打开 抛出w3wp.exe 中发生未处理异常
- 没有 RunInstallerAttribute.Yes 的公共安装程序。在 C:/Program/xx.exe 程序集中可能可以找到
今天在装服务的时候,装了半天总是提示 没有 RunInstallerAttribute.Yes 的公共安装程序.在 C:/Program/xx.exe 程序集中可能可以找到“Yes”属性. 才发现同事 ...
- 把exe嵌入到自己的exe中。delphi xe3
下面是一个把exe程序嵌入到我们自己的exe中.开发环境 Delphi XE3 Version 17.0.4625.53395.OS环境WIN7 SP1,由于xe3版本的引用库发生变化.换成其他版本的 ...
随机推荐
- webstorm查看angular2的ts源码
1.shift双击 双击shift就可以查找文件或函数了,速度更快更方便. 2.ng_for.ts
- python numpy argsort函数用法
numpy.argsort numpy.argsort(a, axis=-1, kind='quicksort', order=None)[source] Returns the indices th ...
- php生成 Arduino 12864 汉字内码
$ch = "你"; $ch = iconv("UTF-8","GB2312",$ch); $xx= sprintf("%X&qu ...
- PV是什么意思
现在国内的站点都号称自己能统计pv,不过听我讲完pv到底是什么,估计所有的站长都要笑了. pv的意思,就是一个访问者在24小时(0点到24点)内到底看了你网站几个页面. 不过在国内,由 ...
- 嵌入式 Linux下修改MAC地址
Linux下修改MAC地址 方法一: 1.关闭网卡设备ifconfig eth0 down2.修改MAC地址ifconfig eth0 hw ether MAC地址3.重启网卡ifconfig eth ...
- hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online
很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死…… 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了! 反复读题,终于在偶然间 ...
- YII内置验证规则
required: 必填字段验证, 来自 CRequiredValidator类的别名 array(‘字段名列表用逗号隔开’, ‘required’), 就这样的一个小小的写法,可以让字段前面加 ...
- 继承TextView简单画一个尺子
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor ...
- ORA-12516: TNS: 监听程序无法找到匹配协议栈的可用句柄解决方法
1.查看当前连接进程数SQL>select count(*) from v$process;2.查看连接数上限SQL>select value from v$parameter where ...
- cefSharp在XP下使得程序崩溃记录
前言:这是一个奇葩的问题,到现在自己还没有搞明白问题出现在哪里,但是从问题总算是解决了,希望看到此文章的大牛,如果知道问题出在什么地方,可以告知一下. [一个在XP系统下面应用程序崩溃问题] 资源: ...