Cygwinを使用して、Windows7でLinuxコマンドインタープリターをC言語で開発しています。このエラーが発生するまで、コードは正しくコンパイルおよび実行されていました。
cygwin_exception::open_stackdumpfile:Dumping stack trace to jstack dump
関数がポインターを期待しているときに関数に値を渡そうとすると、このエラーが発生することがわかりました。
例えば:
int arr[] = {1, 2, 3};
int i = 3;
memmove(i, arr, 3);
このコードは、値であるint iをメモリアドレスを期待している関数に渡すため、cygwin_exception :: open_stackdumpfileを取得します。
ただし、これは純粋に私の経験に基づいており、このエラーには他の原因がある可能性があります。
私は今日この問題を抱えていました。バックグラウンドで別のcygwinセッション(シェル)が実行されていることがわかりました。それらがお互いのメモリ位置/割り当てに影響を与えた可能性があります。両方を殺したら、新しいものを開いて、すべてが正常に戻りました!お役に立てば幸いです
これは、ConEmuやその他のWindowsベースのターミナルエミュレータに適用されます。「スクロールバック」または「バッファの高さ」を2000未満に設定する必要がある場合があります。
実際の数は、端末の幅によって異なります。私の場合、最大化されたウィンドウの幅は240文字で、cygwinアプリがクラッシュし始める前に約3200行の「スクロールバック」をサポートできます。
クリーンなターミナルでls -l -R / | head -n 2000
または同様の出力を実行することでこれをテストし、cygwinアプリをクラッシュさせることができます。