web-dev-qa-db-ja.com

Cygwin例外:スタックダンプファイルを開く

Cygwinを使用して、Windows7でLinuxコマンドインタープリターをC言語で開発しています。このエラーが発生するまで、コードは正しくコンパイルおよび実行されていました。

cygwin_exception::open_stackdumpfile:Dumping stack trace to jstack dump
6
Wissem Ayari

関数がポインターを期待しているときに関数に値を渡そうとすると、このエラーが発生することがわかりました。

例えば:

int arr[] = {1, 2, 3};
int i = 3;
memmove(i, arr, 3);

このコードは、値であるint iをメモリアドレスを期待している関数に渡すため、cygwin_exception :: open_stackdumpfileを取得します。

ただし、これは純粋に私の経験に基づいており、このエラーには他の原因がある可能性があります。

5
Steve

私は今日この問題を抱えていました。バックグラウンドで別のcygwinセッション(シェル)が実行されていることがわかりました。それらがお互いのメモリ位置/割り当てに影響を与えた可能性があります。両方を殺したら、新しいものを開いて、すべてが正常に戻りました!お役に立てば幸いです

2
trust_words

これは、ConEmuやその他のWindowsベースのターミナルエミュレータに適用されます。「スクロールバック」または「バッファの高さ」を2000未満に設定する必要がある場合があります。

実際の数は、端末の幅によって異なります。私の場合、最大化されたウィンドウの幅は240文字で、cygwinアプリがクラッシュし始める前に約3200行の「スクロールバック」をサポートできます。

クリーンなターミナルでls -l -R / | head -n 2000または同様の出力を実行することでこれをテストし、cygwinアプリをクラッシュさせることができます。

0
voidvector