什么是“未知软件异常(0xc00000fd)”?错误以及如何避免呢? [英] What is "unknown software exception (0xc00000fd)" error and how to avoid it?

查看:705
本文介绍了什么是“未知软件异常(0xc00000fd)”?错误以及如何避免呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个名为code_2的AHK脚本,对其进行了编译并将其放置在启动文件夹中,以便每次打开计算机时它都将自动开始运行。

I have created an AHK script named code_2, compiled it and placed it into my Startup folder so that it would automatically start running each time I turn on the computer.

该脚本会检查网站是否有新的更新,并且每当检测到网站上的更新时,就会使用UrlDownloadToFile下载这些更新。

The script checks a website for new updates and whenever an update on the website is detected, it downloads those updates using UrlDownloadToFile.

起初,脚本似乎可以正常运行,但是最近我的脚本运行了大约15分钟后,我开始从计算机接收以下消息:

At first the script seemed to work fine, but recently I started receiving the following messages from my computer after my script has been running for about 15 minutes:


C:\Documents and设置\管理员\开始功能表\程序集\启动\code_2.exe:
code_2.exe-应用程序错误

C:\Documents and Settings\Administrator\「開始」功能表\程式集\啟動\code_2.exe: code_2.exe - 應用程式錯誤

应用程序发生例外未知软件异常(0xc00000fd)于位置0x7c92eddc。

應用程式發生例外 unknown software exception (0xc00000fd) 於位置 0x7c92eddc。

请按[确定]终止程序

请按[取消]进行程序侦错

請按 [取消] 進行程式偵錯

任何人都知道此消息是关于什么的吗? (对不起这里的中文,但是我想如果您知道此消息的编号,则应该熟悉其中的内容。)

Any idea what this message is all about? (Sorry for the Chinese here, but I'd think that if you know this message by its number, you should be familiar with the contents.)

无论如何,这里是翻译后的消息:

Anyway, here is the translated message:


C:\Documents and Settings\Administrator\Start Menu\Programs\Startup\code_2。 exe:code_2.exe-应用程序错误



应用程序中位置0x7c92eddc发生异常未知软件异常(0xc00000fd)。

C:\Documents and Settings\Administrator\Start Menu\Programs\Startup\code_2.exe: code_2.exe - Application Error

The exception unknown software exception (0xc00000fd) occurred in the application at location 0x7c92eddc.

单击确定以终止程序

单击取消以调试程序

Click on OK to terminate the program
Click on CANCEL to debug the program


推荐答案

我认为0xc00000fd是堆栈溢出异常(http://support.microsoft.com/kb/315937)。没有看到您的脚本,很难确定到底出了什么问题,但是这种情况通常是由于递归太深所致。我会检查您的脚本中是否有任何递归函数,并确保它们在到达太深之前退出。

I believe that 0xc00000fd is a stack overflow exception (http://support.microsoft.com/kb/315937). Without seeing your script, it is hard to say for sure what is going wrong, but this sort of thing is generally caused by recursing too deeply. I would check your script for any recursive functions and make sure that they are exiting before reaching too great a depth.

实际上您可能在堆栈上分配了太多。我对AHK并不熟悉,但是编译器也有可能在堆栈上分配大量数据(可能是局部变量)。如果您定义大量(或大量)局部变量,则可能会发生这种情况。

It's possible you're actually allocating too much on the stack. I'm not familiar with AHK, but it's possible the compiler is allocating a large amount of data (probably local variables) on the stack, too. If you define a large number of (or a number of large) local variables, this could happen.

尽管某些情况下,堆栈/内存也有可能被破坏,尽管使用脚本语言时,似乎不太可能发生这种情况。从脚本语言访问本机API的可能性更大,具体取决于执行的方式。

It's also possible that the stack/memory is somehow getting corrupted, although this seems less likely to be the case when using a scripting language. It might be more likely when accessing native API from a scripting language, depending on how that is done.

我要在这里建议的最后一种可能性是:重新调用一些API并导致其分配大量堆栈空间,这可能是通过传递错误的参数来实现的。同样,在不知道更多细节的情况下(尤其是遇到异常时它的操作),很难确定。

The last possiblity I'm going to suggest here is that you're calling some API and causing it to allocate a lot of stack space as well, possibly by passing in bad parameters. Again, without knowing more specifics (especially what it's doing when it hits that exception), it's hard to say for sure.

我可以想到其他一些原因,但是它们可能性甚至更低。

I can think of some other reasons, but they're even less likely.

这篇关于什么是“未知软件异常(0xc00000fd)”?错误以及如何避免呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆