UbuntuのParallels共有フォルダにコアダンプがありません

UbuntuのParallels共有フォルダにコアダンプがありません

アプリケーションの作業中にセグフォルトが発生すると、コアダンプを取得できません。実際、実際のコアダンプファイルはまったく入手できません。単純なテストケースはコアダンプファイルを生成しますが、長さはゼロです。

ulimit -c unlimited64ビットUbuntu Maverickでまとめました。次に何をすべきかについてのアドバイスはありますか?

[dlee@dlee-oak t]$ ulimit -c
unlimited

[dlee@dlee-oak t]$ cat mkcore.cpp
int main() { *((int *)0) = 0; }

[dlee@dlee-oak t]$ g++ -g mkcore.cpp -o mkcore

[dlee@dlee-oak t]$ ./mkcore 
Segmentation fault

[dlee@dlee-oak t]$ ls -l core*
-rw-r--r-- 1 dlee dlee 0 2010-12-21 15:00 core.2993

編集する:追加情報

[dlee@dlee-oak t]$ tail -n +1 /proc/sys/kernel/core_*
==> /proc/sys/kernel/core_pattern <==
core

==> /proc/sys/kernel/core_pipe_limit <==
0

==> /proc/sys/kernel/core_uses_pid <==
1

[dlee@dlee-oak t]$ tail /var/log/kern.log
<snip/>
Dec 21 16:07:40 dlee-oak kernel: [  133.863045] mkcore[1589]: segfault at 0 ip 000000000040043d sp 00007fffbd025510 error 6 in mkcore[400000+aa000]

コアファイルを生成するファイルシステムが次のようになることに気づきました。Parallels 共有フォルダ。 (このUbuntuインスタンスは私のMacのParallels VMで実行されています。)ローカルディスクのディレクトリからアプリケーションを実行すると、コアファイルが期待どおりに作成されます。

だから質問を少し変更します。なぜprl_fsファイルシステムにコアファイルを生成しないのですか?ただ気になって...

編集#2:

長さ0のコアファイルを作成したときに印刷されないことがわかります(core dumped)。私の精神が正しいことをもう一度確認しましたが、そうです。長さ0のコアファイルが実際に生成されています。

[dlee@dlee-oak t]$ X=$(pwd)
[dlee@dlee-oak t]$ ls -l core*
ls: cannot access core*: No such file or directory
[dlee@dlee-oak t]$ ./mkcore 
Segmentation fault
[dlee@dlee-oak t]$ ls -l core*
-rw-r--r-- 1 dlee dlee 0 2010-12-22 00:41 core.6009

[dlee@dlee-oak t]$ cd ~
[dlee@dlee-oak ~]$ $X/mkcore
Segmentation fault (core dumped)

ベストアンサー1

根本原因を明確に見つけることはできませんが、長さ0のコアファイルはParallels 共有フォルダ

ローカルディレクトリからアプリケーションを実行して問題を解決しました。別のオプションは、/proc/sys/kernel/core_patternコアファイルをローカルディレクトリにダンプするように設定することです。

おすすめ記事