web-dev-qa-db-ja.com

クラッシュレポートを送信した後、どこでアポートトレースバック情報を入手できますか

Gnome-Shellでsegvがクラッシュすることがたくさんあります。アポートウィンドウには多くの情報がありますが、あまりユーザーフレンドリーではありません(ウィンドウは非常に小さく、検索する方法も、テキストファイルにコピーを保存する方法もありません)。 。

ターミナルから直接アポートに利用できる情報にアクセスする方法はありますか? gnome-Shellはトレースバックログをどこかに保存しますか?

/ var/logにapportのログファイルがあることは知っていますが、そのログファイルはほぼ同じレベルの詳細を提供していません。

1
thebunnyrules

ファイルは/var/crashにあります。これがあなたの質問に対するほぼすべての答えなので、私の答えをより面白くするために、私がこれをどのように知っているかを示します。これは、クラッシュ動作をテストしたい他の人の興味を引くかもしれません。

$ cat ~/playground/crash.c
/* crash.c - simple program that crashes by raising a segmentation fault */

#include <signal.h>

int main(void)
{
        raise(SIGSEGV);
}

上記のプログラムは Eliah Kagan によって書かれました。同じディレクトリにあるcrashという実行可能バイナリファイルにコンパイルしました(コマンドgcc -ansi -pedantic -Wall -Wextra -o crash crash.cを使用)。このプログラムは確実にセグメンテーション違反を起こします:)

このプログラムを実行してもBash自体はクラッシュしないため、Apportは文句を言いませんが、興味深い理由で このチャットで詳しく説明します 、kshを使用してプログラムを呼び出すと、ksh自体がクラッシュします。クラッシュすると、Apportはそのレポートを作成します。試してみよう!

zanna@toaster:/var/crash$ ksh93
$ /home/zanna/playground/crash
Memory fault(coredump)
$ exit
Segmentation fault (core dumped)
zanna@toaster:/var/crash$ ls
_bin_ksh93.1000.crash
zanna@toaster:/var/crash$ file _bin_ksh93.1000.crash 
_bin_ksh93.1000.crash: ASCII text, with very long lines

そこに行きます。

レポートを作成すると、ここにさらに2つのファイルが表示されます。1つは.uploadで終わり、もう1つは.uploadedで終わります。読みやすい場合とそうでない場合がありますが、いずれの場合も、送信された情報が含まれています。アポートによって。

2
Zanna