問題タブ [strace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
strace - straceの出力での数値はどういう意味ですか?
ここでどういう6331
意味ですか?
strace - プロセスにアタッチされているときにstraceを終了するには?
誰でも知っていますか?
system-calls - strace はどのように機能しますか?
使用されたすべてのシステム コールを追跡できます。
しかし、sys_call と通常の呼び出しの違いは??
strace - strace は正確に何を出力しますか?
まさにここで私が焦点を当てているのは...
strace は使用されたすべての syscall を返すとすべての人が言っていますが、私grep entry.S
とそこにあるのsys_mmap
は単にmmap
,つまりmmap
、syscall ではないということだけではありませんsys_mmap
。
では、 strace は正確には何を出力しているのでしょうか??
別の質問は、戻り値を意味すると思います= 0x37aa74d000
よね?しかし、関数に戻り値の型がない場合はどうなりますか?( void
)?
system-calls - syscall、sys_open、open はどれですか?
sys_open
正規のシステムコールだと思いますが、
つまり、接頭辞がsys_
.
しかし、strace
これはすべてのsyscallをログに記録することになってopen
おり、syscall(プレフィックスなしのバージョン)として出力され、混乱しています...
どれがsyscallですか??
unix - strace の出力を理解しようとしている
strace を理解しようとしています。
だから私は非常に実践的な方法は次のことを行うことだと考えました:
それで:
そして、そこから行きます。出力の違いを見ることができれば、strace が私に伝えていることの大部分を推測できるという考えです。
残念ながら、echo1.txt と echo2.txt には、strace ではなく、echo からの出力のみが含まれていました。出力を手動でコピーして貼り付けてから差分を実行するだけですが、今は単に自分が何を間違えたのか知りたいだけです。
誰か助けてくれませんか?
linux-kernel - 多くのシステム コール (getpid) が strace を使用して 1 回だけキャプチャされるのはなぜですか?
(システム コールの効率をテストするために) プログラムでgetpid()を何度も呼び出しましたが、トレースを取得するために使用するstrace
と、getpid()呼び出しが 1 回だけキャプチャされます。
コードは簡単です:
私はこれを使用gdb
して取得しました:
アセンブリコードがよくわかりません。また、どなたか詳しい説明をいただけると助かります。私の観察によると、最初のgetpid()呼び出しを除いて、「call *%gs:0x10」(vdso にジャンプする) は実行されません。これが、後続のgetpid()呼び出しがキャプチャされない理由である可能性があります。しかし、理由はわかりません。
Linux カーネル: 2.6.24-29 gcc (GCC) 4.2.4 libc 2.7、
ありがとう!
c - strace 出力に関する質問
CentOS と Debian の両方でプログラムを実行しています。出力はまったく同じですが、Centos では太字の 3 行が表示されますが、Debian では表示されません。これらの 3 行は何についてであり、どうすれば Debian でも入手できますか?
linux - プログラムが特定のファイルを開くとgdbが壊れます
バックストーリー:プログラムを実行しているときに、「/ dev/urandom」が編集strace
されていることに気付きました。open
この呼び出しがどこから来ているのか知りたいです(プログラム自体の一部ではなく、システムの一部です)。
したがって、gdbを使用して、呼び出しが発行されcatch syscall open
たときにプログラムの実行を中断(使用)しようとしているので、バックトレースを確認できます。open
問題は、数百回のようにたくさんopen
呼び出されているため、/ dev/urandomを開いている特定の呼び出しを絞り込むことができないことです。特定の通話を絞り込むにはどうすればよいですか?引数でフィルタリングする方法はありますか?もしそうなら、システムコールに対してどのようにそれを行うのですか?
どんなアドバイスも役に立ちます-多分私はこれについてすべて間違っていると思います。