• 締切済み

エラー?メッセージ

4 [main] j00 2164 _cygtls::handle_exceptions: Exception: STATUS_STACK_OVERFLOW 1122 [main] j00 2164 open_stackdumpfile: Dumping stack trace to j00.exe.stackdump 実行すると↑のエラー?メッセージがでます。 どうすれば、↑のメッセージを消すことができるのでしょうか?教えてくださいm( _ _ )m 一応、「j00」ってのはソースファイル名です。

みんなの回答

  • crew21
  • ベストアンサー率26% (58/222)
回答No.2

「STATUS_STACK_OVERFLOW」これが答えですね。スタックオーバーフローということです。 スタック領域はご存じですよね。 関数に引数を持たせたり、内部変数を持ったりしたときに消費されてゆくメモリ領域です。 スタック領域のサイズは、環境変数やコンパイルスイッチなどで変更できますが、当然有限な領域で、一般に狭い(KB単位)です。 なので、例えばですが、10KBの大きさを持つスタック領域に対して、 ある関数内で、 void aaa() { char a[5*1024]; ... } などとやってしまうと、いきなりスタック領域を5KB、即ち半分使ってしまうことになります。 昔はメモリが貧弱だったので、スタック領域(の狭さ)を意識してプログラミングすることが多かったのですが、 最近のメモリの増大に伴い、スタック領域も増え、それを意識してプログラミングすることはあまりなくなってきた傾向があります。 たまたまあなたのプログラムが、スタック領域を使い切るほどのことをしてしまったのでしょう。 なので、解決策としては、マニュアル等を読んで、環境変数やコンパイルスイッチなどでスタック領域を増やすか、 ご自分のプログラムを見直して、スタックの無駄遣いが無いかを点検することです。 一般に、なすべきは後者です。 失礼ながらきちんと設計していれば、スタックを使い切るということは、そうそうないことなので。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

その実行ファイルに対応するソースコードを見せていただけますか?

関連するQ&A

  • プログラム実行時にわからないエラーメッセージが出ました

    書いたプログラムをcygwinでコンパイルし実行してみたのですが 数値を入力していくと次のようなエラーメッセージが出ました。 エラーの意味と、可能なら解決法をおしえていただきたいです。 よろしくお願いします。 12 [main] so 3092 _cygtls::handle_exceptions: Error while dumping state ( probably corrupted stack) Segmentation fault (core dumped)

  • cygwinでstartxでXが立ち上がりません

    こんにちは、時雨と申します。 cygwinをインストールし、Xを使おうと思ったのですが、以下に示すようなエラーが出て(エラーメッセージと思われるところのみを抜粋しています)、X-windowを立ち上げることができません。cygwinのパッケージはX11は全てインストールしています。 googleで検索したのですが、全く原因がわからないので、どなたかどうぞよろしくお願いします。 4 [main] xinit 3812 _cygtls::handle_exceptions: Error while dumping state(probably corrupted stack) /usr/X11R6/bin/startx: line 118: 3812 Segmentation fault (core dumped) xinit "$@" Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list! _XSERVTransSocketUNIXAccept: accept() failed 10 [unknown (0xF78)] X 3840 _cygtls::handle_exceptions: Error while dumping state (probably corrupted statck) 435659 [unknown (0xF74)] X 3840 _cygtls::handle_exceptions: Error while dumping state (probably corrupted statck)

  • ウイルスセキュリティ2005から2006にバージョンアップされたらscpなどがつかえなくなってしまいました。

    ウイルスセキュリティ2005から2006にバージョンアップされたら、cygwinでscpやstartxができなくなってしまいました。 ・scp エラー文 Could not create directory '/home/Lapin/.ssh'. 10 [main] ssh 1160 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) lost connection ・startx エラー文 XFree86-Bigfont extension local-client optimization disabled due to lack of shared memory support in the kernel (--) Setting autorepeat to delay=500, rate=31 7 [main] xinit 3624 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) $ (--) 3 mouse buttons found Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list! SocketUNIXAccept: accept() failed winMultiWindowXMsgProc - DISPLAY=127.0.0.1:0.0 9 [unknown (0xE9C)] X 3652 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) 何ででしょうか?助けてください。

  • Cプログラムの問題点

    C言語で数値計算に関するプログラムを作ったのですが、cygwinで実行すると次のようなコメントが出ます。 5 [main] a 4772 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) Segmentation fault (core dumped) 初心者なので、ところどころミスを発見しては直していたのですが、この問題は調べてみてもプログラムによって異なるみたいなので、質問した次第です。誤りがありましたら、ご指摘ください。

  • エラー内容

    C++で書いたプログラムを実行したところ、以下のようなエラーが出たのですが、 これはどういった意味のエラーなのでしょうか? また、解決するにはどのようにしたらよいでしょうか? 11 [sig] apriori 436 open_stackdumpfile: Dumping stack trace to apriori.exe.stackdump

  • Cygwinでの実行時に生じるエラーの原因を教えてください!

    以下は2次元の配列を左に90度回転させるのにかかるサイクルカウントを計測するプログラムです。 --------------------------------------------------- #include "clock.h" #define N 512 typedef int matrix_t[N][N]; void naive_rotate(matrix_t src, matrix_t dst){ int i, j; double d; start_counter(); for(i=0; i < N; i++){ for(j=0; j < N; j++){ dst[N-1-j][i] = src[i][j]; } } d = get_counter(); printf("CycleCount:%f\n",d); return; } int main(){ int i,j; matrix_t a,b; for(i=0; i < N; i++){ for(j=0; j < N; j++){ a[i][j] = j; } } naive_rotate(a,b); return 0; } ------------------------------------------------- Nを64,128・・・,2048のそれぞれでこいつをコンパイル、 $ gcc -O2 -I../include L_rotate.c ../lib/libcsapp.a 実行すると、Nが512以上のときは $ ./a.exe 45 [main] a 8024 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) Segmentation fault (core dumped) と表示されてしまいます。libcsapp.aには問題はないので、このプログラム中のどこをどう直せばよいのでしょうか?

  • 並列プログラミングのエラー

    6400×6400の行列のベクトル積を並列計算によって求め、その時間を計るプログラムです。 #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <pthread.h> #define MATRIX 6400 #define THREAD 2 #define COUNT 30 #define SPLIT 100 int INDEX = 0; double a[MATRIX * MATRIX], b[MATRIX], x[MATRIX]; pthread_mutex_t m1; double gettimeofday_sec() { struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec + (double)tv.tv_usec*1e-6; } void thread_func(void *arg) { int i, j, tmp; while(INDEX < MATRIX) { pthread_mutex_lock(&m1); tmp = INDEX; INDEX += SPLIT; pthread_mutex_unlock(&m1); for(i = tmp; i < tmp + SPLIT; i++) { for(j = 0; j < MATRIX; j++) { b[i] += a[i * MATRIX + j] * x[j]; } } } } int main() { int i, j; double timeA, timeB; pthread_t handle[THREAD]; pthread_mutex_init(&m1, NULL); for(i = 0; i < MATRIX * MATRIX; i++) a[i] = rand() % 10; for(i = 0; i < MATRIX; i++) x[i] = rand() % 10; timeA = gettimeofday_sec(); //計測開始 for(i = 0; i < COUNT; i++) { for(j = 0; j < THREAD; i++) pthread_create(&handle[i], NULL, (void *)thread_func, NULL); for(j = 0; j < THREAD; i++) pthread_join(handle[i], NULL); INDEX = 0; } timeB = gettimeofday_sec(); //計測終了 printf("計算時間:%d\n", timeB - timeA); return 0; } cygwinでコンパイル、実行すると Exception: STATUS_ACCESS_VIOLATION at eip=00401276 eax=000018D0 ebx=000018FF ecx=00000003 edx=0022CE64 esi=611021A0 edi=004015E8 ebp=0022CCE8 esp=0022CC90 program=C:\cygwin\home\管理者\a.exe, pid 2020, thread main cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023 Stack trace: Frame Function Args 0022CCE8 00401276 (00000001, 6116B690, 13F40090, 0022CC70) 0022CD98 610060D8 (00000000, 0022CDD0, 61005450, 0022CDD0) 61005450 61004416 (0000009C, A02404C7, E8611021, FFFFFF48) 7 [main] a 2020 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) という内容のstackdumpファイルが生成されて実行できません。 どのように修正すればうまく実行できるでしょうか? 環境は OS:WindowsXP SP3 CPU:Intel(R) Core(TM)2 Duo E4500 @2.20GHz RAM:2048MB です。 よろしくお願いします。

  • cygwin コンパイル エラー

    コンパイル後、実行しようとすると下記のようになります。 まだインストール仕立てで一回もコンパイルうまくいってないです。。 bash-3.2$ ./ファイル名 9129[main]ファイル名 1372 _cygtls::handle_exceptoins: Error while dumping state (probably corrupted stack) Segmentation fault (core dumped) 何が原因なのでしょうか? 何かインストールし足りないのでしょうか?お願いします。

  • 例外処理がエラーを…(泣)

    C++のプログラムを勉強しているのですが 例外処理の部分でエラーをはいてしまいます。 #include<iostream> using namespace std; void Xhandler(int test){ try{ if(test)throw test; else throw "Value is zero"; } catch(int i){ cout << "Caught One! Ex. #: " << i << "\n"; } catch(char *str){ cout << "Caught a string: " ≪ str << "\n"; } } int main(){ cout << "start\n"; Xhandler(1); Xhandler(2); Xhandler(0); Xhandler(3); cout << "end"; return 0; } 実行結果 start Caught One! Ex. #: 1 Caught One! Ex. #: 2 7[sig] 1705 3752 _cygtls::handle_exceptions: Error while dumping state(probably corrupted stack) Segmentation fault (core dumped) catch の char *str を str にして "Value is zero" を 'a' にしたら 予測通りの動作をしたのですが… catch に *str を使って文字列を投げてはいけないのでしょうか? よろしくお願いします。

  • smtpのエラー

    フリーソフトのMail Distributoを使用して同報メールを送信しておりましたが 本日、突然下記のエラーで送れなくなりました。 どのような原因が考えられるでしょうか? [Message] 535 Error: authentication failed [Exception] WsMail.Exceptions.SendErrorException [Trace] 場所 WsMail.SMTP.Login(String smtpServer, String smtpAuthUserName, String smtpAuthPassword, Int32 smtpAuthType) 場所 MailDistributor.Logic.MailSender.Send()

専門家に質問してみよう