2

一部の Linux (Ubuntu) システムで作業し、社内の C および C++ アプリ (gcc) を実行しています。

や など、処理されるシグナルの長いリストがありSIGSEGVますSIGINT。シグナルでは、コールスタックは and を使用して取得backtrace(3)されbackgrace_symbols(3)ます。C++ の場合、関数名はabi::__cxa_demangle().

私の質問は、これらのシグナルが発生したときに、事後デバッグのためにログに記録するためのより有用な情報を提供する C/C++ API が他にあるということです。それとも、バックトレースだけが「セクシー」なことですか?

4

1 に答える 1

1

コアダンプを有効にしたい場合があります...ulimit -c unlimitedまたは同様のものです。その後、コア ファイルを GDB にロードして、プログラムに何が起こったのかを確認できます。

于 2010-10-27T13:27:37.600 に答える