ppp
が動きません. どこを間違えているのでしょう?
: ppp が segmentation fault になるのですが, ppp.core
ppp.core
ファイルがありません
ppp (や他のプログラム) はけして core を吐いてはいけません. ppp は 実効 uid が 0 で動いていますので, オペレーティングシステム は ppp を終了させる前にディスクに core イメージを書き込みません. しかし ppp は実際にはセグメンテーション違反や他の core を吐く原因 となるようなシグナルによって終了して おり, さらに 最新の バージョン (このセクションの始めを見てください) を使用している ならば, 次のようにしてください:
$ tar xfz ppp-*.src.tar.gz $ cd ppp*/ppp $ echo STRIP= >>Makefile $ echo CFLAGS+=-g >>Makefile $ make clean all $ su # make install # chmod 555 /usr/sbin/ppp
これで debug 可能なバージョンの ppp がインストールされます. root で ppp を実行し, 全ての特権が無効になっているようにする必要 があるでしょう. ppp を実行する時には, current directory が make した directory であるようにしてください.
これで, ppp がセグメンテーション例外を受け取ったときには ppp.core という名前の core ファイルを吐くようになります. core が 吐かれたら次のようにしてください:
$ su # gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 ..... (gdb) i args ..... (gdb) l .....
質問する際には, これら全ての情報を提供して, 問題点の分析ができ るようにしてください.
gdb の使い方に慣れている場合には, 実際に dump の原因となった 理由やそのアドレス, 関連した変数の値なども調べる事ができるでしょう.
ppp
が動きません. どこを間違えているのでしょう?
: ppp が segmentation fault になるのですが, ppp.core