2011-10-14 22 views
5

私はcode_2という名前のAHKスクリプトを作成し、それをコンパイルしてスタートアップフォルダに配置して、コンピュータの電源を入れるたびに自動的に起動するようにしました。"不明なソフトウェア例外(0xc00000fd)"エラーとそれを回避する方法は何ですか?

このスクリプトでは、一部のWebサイトで新しいアップデートが確認されており、そのアップデートが検出されると、UrlDownloadToFileを使用してそれらのアップデートがダウンロードされます。

最初にスクリプトが正常に動作するように見えたが、最近私は私のスクリプトは、約15分間ランニングされた後、自分のコンピュータから以下のメッセージの受信を開始:

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

應用程式發生例外不明なソフトウェア例外(0xc00000fd)於位置0x7c92eddc

請按[確定]。終止程式

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

このメッセージはすべてに約あるか任意のアイデア? (申し訳ありませんが、ここでは中国語ですが、番号でこのメッセージを知っていれば内容に精通していると思います)。とにかく

は、ここにGoogleが行われ、そのメッセージの翻訳は翻訳です:

C: "スタート" メニュー\プログラム\ \ DocumentsとSettings \ Administratorの \スタートアップ\ code_2.exe:code_2.exe - アプリケーションエラー

0x7c92eddcの位置で例外が不明なソフトウェア例外 (0xc00000fd)が発生しました。

押し[OK]デバッグを押して[キャンセル] をプログラムするためのプログラムを終了する

答えて

15

Iは、スタックオーバーフロー例外0xc00000fdであると考えている(http://support.microsoft.com/kb/315937) 。あなたのスクリプトを見ることなく、間違っていることを確かに言うのは難しいですが、この種のことは一般的に深く繰り返して起こります。あなたのスクリプトに再帰的な関数があるかどうかチェックして、あまりにも深いところに到達する前に終了していることを確認します。

実際にスタックにあまりに多くを割り当てる可能性があります。私はAHKに精通していませんが、コンパイラが多量のデータ(おそらくローカル変数)をスタックに割り当てる可能性もあります。多数の(または多数の)大域変数を定義すると、これが起こる可能性があります。

スタック/メモリが何らかの形で破損している可能性もありますが、これはスクリプト言語を使用する場合にはそうではないようです。スクリプト言語からネイティブAPIにアクセスする際には、それがどのように行われるかによって異なります。

私がここで提案する最後の可能性は、いくつかのAPIを呼び出して、スタック・スペースを多く割り当てて、おそらくは悪いパラメータを渡すことです。繰り返しますが、詳細を知ることなく(特にその例外に当たったときに何をしているのか)、確かに言うのは難しいです。

私はいくつかの他の理由を考えることができますが、それらはあまりありません。

+1

ありがとうございました!あまりにも深く呪われているのが私の問題だと私は思います。 – brilliant

関連する問題