g ++でコンパイルされたlinuxで実行されているC++プログラムが、ある時間が経過して不正な命令例外が発生し、コアダンプが発生するという問題があります。 gdbを使用してバックトレースを行うと、私は得るでしょうg ++でコンパイル中に不正な命令が発生する
(gdb) bt
#0 0x005e18cf in ATL_dpotrfL() from /usr/lib/liblapack.so.3gf
#1 0x00000001 in ??()
#2 0xb786f2e8 in ??()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
私はバックトレースにメインがない理由はわかりません。 ?デバッグシンボルが入っていない私のlinuxライブラリの一部であるようです。
私の質問は今ですか?このプログラムの問題は何ですか?図書館のラップは誤ってコンパイルされていますか(私は数日前にそれをコピーしました)?または他のエラーがありますか?
私は確かにアセンブラやそれに類するものはありませんでした。 C++のみ。通常壊しスタックを意味
おかげ クリスチャン
スタックが破損したように見えます。 valgrindの下で実行します。 –
それでは、どうすればいいですか?ただvalgrind ./binary?私はvalgrindをまだ使用していませんでした。どのツールを起動すればよいですか?私はvalgrindがメモリリークのために使われていると思った。 –
さて、 'valgrind。/ binary'で始まり、それが何を言うのかを見てください。 –