诡异的问题:xxxxxxx中的 0x74e16b2f 处最可能的异常: 0x40010005: Control-C

andrew2222 2013-04-19 11:48:08
今天在debug程序过程中意外发现,若对程序console窗口不断最小化还原然后最小化还原。。。(即点击任务栏上的console),程序立马就会崩溃,出现错误:

xxxxxxx中的 0x74e16b2f 处最可能的异常: 0x40010005: Control-C

我测试了一下,任何程序都会出现这个错误,即使我程序内部什么也不做,就是一个while(1);循环。

我还同时测了vs2010和vs2012,32位和64位,均会出现此问题。
vs2010的出错信息即上面所示。
vs2012的出错信息如下(应该是同一错误,只是我的vs2012是英文版):
First-chance exception at 0x74E16B2F (kernel32.dll) in KSTest.exe: 0x40010005: Control-C

敢问各位大侠,这是怎么一回事?拜谢!

我的平台是win7 64位。
...全文
917 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodian_sz 2014-01-21
  • 打赏
  • 举报
回复
请问楼主问题解决了吗?是不是Win8操作系统啊,我的程序在Win8操作系统下会出现楼主描述问题。
www_adintr_com 2013-07-10
  • 打赏
  • 举报
回复
只启动 cmd.exe 的控制台窗口来试会崩溃吗?
漫步者、 2013-07-10
  • 打赏
  • 举报
回复
贴代码出来吧
赵4老师 2013-05-02
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。 判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。
chengshiding 2013-05-02
  • 打赏
  • 举报
回复
windows的设计就是这么设计的,为啥linux下不会呢。
Athenacle_ 2013-04-20
  • 打赏
  • 举报
回复
引用 12 楼 andrew2222 的回复:
引用 10 楼 darksmile 的回复:楼主把编译好的程序放到一个没装过360的机器上试试看吧。注意是没装过,不是关了,也不是退出。 引用 11 楼 Athenacle_ 的回复:引用 9 楼 andrew2222 的回复:引用 8 楼 Athenacle_ 的回复:你写的程序大概干什么用的啊? 关键是我发现任何程序都会这样。。。不知道大家的是不是也会。。……
是的,我没360
andrew2222 2013-04-20
  • 打赏
  • 举报
回复
引用 10 楼 darksmile 的回复:
楼主把编译好的程序放到一个没装过360的机器上试试看吧。注意是没装过,不是关了,也不是退出。
引用 11 楼 Athenacle_ 的回复:
引用 9 楼 andrew2222 的回复:引用 8 楼 Athenacle_ 的回复:你写的程序大概干什么用的啊? 关键是我发现任何程序都会这样。。。不知道大家的是不是也会。。 我的2012不会啊,重装试试?
你的也是win7 64位吗?
Athenacle_ 2013-04-20
  • 打赏
  • 举报
回复
引用 9 楼 andrew2222 的回复:
引用 8 楼 Athenacle_ 的回复:你写的程序大概干什么用的啊? 关键是我发现任何程序都会这样。。。不知道大家的是不是也会。。
我的2012不会啊,重装试试?
darksmile 2013-04-19
  • 打赏
  • 举报
回复
你的开发机器上是不是装了360?
darksmile 2013-04-19
  • 打赏
  • 举报
回复
楼主把编译好的程序放到一个没装过360的机器上试试看吧。注意是没装过,不是关了,也不是退出。
andrew2222 2013-04-19
  • 打赏
  • 举报
回复
引用 8 楼 Athenacle_ 的回复:
你写的程序大概干什么用的啊?
关键是我发现任何程序都会这样。。。不知道大家的是不是也会。。
Athenacle_ 2013-04-19
  • 打赏
  • 举报
回复
你写的程序大概干什么用的啊?
andrew2222 2013-04-19
  • 打赏
  • 举报
回复
引用 6 楼 youyou1912 的回复:
引用 4 楼 andrew2222 的回复:引用 2 楼 youyou1912 的回复:SetConsoleCtrlHandler 可以阻止Ctrl+C 这个在哪里设置? C/C++ code?12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h>#inc……
谢谢,这段代码确实可以接货Ctrl+C。 不过Ctrl+C的错误依然会出现。可能我想问的重点不在此。我想问的是: 为什么我反复对程序console窗口不断最小化还原然后最小化还原。。。系统会认为我发出了一个Ctrl+C的消息?
youyou1912 2013-04-19
  • 打赏
  • 举报
回复
引用 4 楼 andrew2222 的回复:
引用 2 楼 youyou1912 的回复:SetConsoleCtrlHandler 可以阻止Ctrl+C 这个在哪里设置?

#include <stdio.h>
#include <windows.h>
BOOL CtrlHandler( DWORD fdwCtrlType )
{
    switch (fdwCtrlType)
    {
    /* Handle the CTRL-C signal. */
    case CTRL_C_EVENT:
        printf("CTRL_C_EVENT \n");
        break;
    case CTRL_CLOSE_EVENT:
        printf("CTRL_CLOSE_EVENT \n");
        break;
    case CTRL_BREAK_EVENT:
        printf("CTRL_BREAK_EVENT \n");
        break;
    case CTRL_LOGOFF_EVENT:
        printf("CTRL_LOGOFF_EVENT \n");
        break;
    case CTRL_SHUTDOWN_EVENT:
        printf("CTRL_SHUTDOWN_EVENT \n");
        break;
    default:
        return FALSE;
    }
    return (TRUE);
}

void test()
{

SetConsoleCtrlHandler((PHANDLER_ROUTINE)CtrlHandler, TRUE);
while(true);



}
andrew2222 2013-04-19
  • 打赏
  • 举报
回复
引用 1 楼 darksmile 的回复:
你的开发机器上是不是装了360?
我把360关了还是会出错。
andrew2222 2013-04-19
  • 打赏
  • 举报
回复
引用 2 楼 youyou1912 的回复:
SetConsoleCtrlHandler 可以阻止Ctrl+C
这个在哪里设置?
andrew2222 2013-04-19
  • 打赏
  • 举报
回复
引用 1 楼 darksmile 的回复:
你的开发机器上是不是装了360?
这跟360还有关系?
youyou1912 2013-04-19
  • 打赏
  • 举报
回复
SetConsoleCtrlHandler 可以阻止Ctrl+C

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧