2016-07-14 7 views
1

私は、コマンドを使用していますピアにメッセージを送信します。しかし、私は、次の項目を受け付けております:

15:40:11.908857 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=5019, si_status=SIGSTOP, si_utime=0, si_stime=0} --- 
15:40:11.911130 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=4987, si_status=SIGTRAP, si_utime=1, si_stime=0} --- 
15:40:11.914907 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4987, si_status=0, si_utime=1779, si_stime=180} --- 
15:40:11.963586 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=4983, si_status=SIGTRAP, si_utime=37, si_stime=4} --- 
15:40:11.973691 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=5019, si_status=SIGSTOP, si_utime=0, si_stime=0} --- 
15:40:11.975929 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=4983, si_status=SIGTRAP, si_utime=37, si_stime=4} --- 
15:40:11.979922 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4983, si_status=0, si_utime=1816, si_stime=184} --- 

私はread()close()などへのソケット呼び出しを見るべきではないでしょうか。

+2

フォークに従うために '-f'を追加しようとしましたか? – mpromonet

+0

@mpromonet私はもともとはありませんでした。単にstrace -tt -f -o $ {filename} -e trace = network gdb -args $ {EXECUTABLE}を取得しようとしましたが、プロセスを作成できません。操作は許可されていません。起動プログラム中にコード127で終了しました。 – user997112

+0

gdbを使用せずに 'strace -f -tt -o $ {filename} -e trace = network $ {EXECUTABLE}'を使用しないのはなぜですか?あなたのコマンドでは、gdbのシステムコールを記録しています。 – mpromonet

答えて

2

gdb --args ${EXECUTABLE}でstraceを使用すると、gdbで実行される実行可能ファイルのsyscallではなく、gdbのsyscallが出力されます。あなたが使用することができ、あなたの実行可能ファイルのプリントシステムコールするためには

strace -f -tt -o ${filename} -e trace=network ${EXECUTABLE} 

「-f」オプションは時に実行可能なフォーク新しいスレッドまたは新しいプロセス、これは便利です、フォークに従うことをstraceのためにお願いします。

関連する問題