今天遇到个超级奇怪的问题,昨天还好端端的程序,今天用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. python numpy sum函数用法

    numpy.sum numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)[source] Sum of array element ...

  2. 详解MySQL三项实用开发知识

    其实项目应用的瓶颈还是在db端,在只有少量数据及极少并发的情况下,并不需要多少的技巧就可以得到我们想要的结果,但是当数据量达到一定量级的时 候,程序的每一个细节,数据库的设计都会影响到系统的性能.这里 ...

  3. HDU 2151 Worm

    Worm Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  4. nginx服务器防sql注入/溢出攻击/spam及禁User-agents

    本文章给大家介绍一个nginx服务器防sql注入/溢出攻击/spam及禁User-agents实例代码,有需要了解的朋友可进入参考. 在配置文件添加如下字段即可  代码如下 复制代码 server { ...

  5. JDBC数据源(DataSource)的简单实现

    数据源技术是Java操作数据库的一个很关键技术,流行的持久化框架都离不开数据源的应用.   数据源提供了一种简单获取数据库连接的方式,并能在内部通过一个池的机制来复用数据库连接,这样就大大减少创建数据 ...

  6. 微软Azure云主机测试报告

    http://www.cnblogs.com/sennly/p/4135658.html 1. 测试目的 本次测试的目的在于对微软云主机做性能测试,评估其是否能够满足我们业务的需求. 2. 测试项目 ...

  7. mysql cluster 名词概念解读

    Node Group [number_of_node_groups] = number_of_data_nodes / NoOfReplicas Partition When using ndbd, ...

  8. 为什么数据科学家们选择了Python语言?

    本文由 伯乐在线 - HanSir 翻译,toolate 校稿 英文出处:Quora [伯乐在线导读]:这个问题来自 Quora,题主还补充说,“似乎很多搞数据的程序员都挺擅长 Python 的,这是 ...

  9. Fast-paced Multiplayer

    http://www.gabrielgambetta.com/fpm1.html —————————————————————————————————————————————————————— Fast ...

  10. Dagger2学习资源

    文章 Jack Wharton关于Dagger的幻灯片 代码 用Dagger2改写Jack Wharton的U+2020 我自己写的,包含了dagger2和单元测试 chiuki写的,包含了dagge ...