私はそれがするはずのことをするC++プログラムを持っていますが、最後にクラッシュしてコアダンプを作成するため、ポインターには何らかの問題がなければなりません。私の問題は、コアファイルが見つからないため、デバッグできないことです。
私が試してみました
ulimit -c unlimited
ulimit -a
そして今、ファイルの次元は無制限に設定されていますが、それでもコアが見つかりません。 here と書かれたすべてのフォルダーで試しましたが、それでもコアファイルは作成されていないようです。
どこで見つけることができますか?
Ubuntuでは、コアダンプは Apport によって処理され、/var/crash/
に配置できます。ただし、安定リリースではデフォルトで無効になっています。
Apportを有効にするには、Sudo systemctl enable apport.service
またはSudo service apport start
を実行します。
無効にするには、Sudo systemctl disable apport.service
またはSudo service apport stop
を実行して、通常のコアダンプ方法に戻ります。参照: Apportを有効または無効にする方法 。
永続的に無効にするには、/etc/apport/crashdb.conf
ファイルを編集し、次の行をコメント化します。
'problem_types': ['Bug', 'Package'],
行の先頭にハッシュ記号(#
)を追加します。
クラッシュレポートを無効にするには(通常の状態に戻す)、ハッシュシンボルを削除します(以前と同じ)。
core_pattern
、カーネルによるコアダンプの処理方法も確認できます。
$ cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c
そのため、コアファイルもulimit
によって無効にされますが、apport
は引き続きクラッシュをキャプチャします。
こちらもご覧ください: