ltrace

ltraceを使ってシステムコール時間を測定する: `syscall` + `clock_gettime`を追加しますか?
ltrace

ltraceを使ってシステムコール時間を測定する: `syscall` + `clock_gettime`を追加しますか?

システムコールの明確さを探しています。私はシステムコールを直接呼び出してvDSOを避けようとしましたclock_gettime。これはというプログラムの一部ですsys_clock_gettime。 int clock = CLOCK_MONOTONIC; struct timespec ts; if (syscall(__NR_clock_gettime, clock, &ts) == -1){ exit(-1); } プログラムは時計名(CLOCK_BOOTTIME, CLOCK_MONOTONICなど)と呼び出し回数を使用します。たとえば...

Admin

ltraceがglibc __nss_configure_lookup()への呼び出しを表示しないのはなぜですか?
ltrace

ltraceがglibc __nss_configure_lookup()への呼び出しを表示しないのはなぜですか?

ltraceコマンドがどのように機能するかを理解しようとしています。 だから一緒に遊んでいた/etc/nsswitch.conf。そこに「hosts:resolve」行があります。glibc動的ローディングnss-resolveホスト名検索用のプラグインモジュールです。プラグインがロードされているのを見たいですltrace。 $ ltrace getent hosts google.com mtrace() = <void> set...

Admin

同じことを行うことができるltraceに代わるものはありますか?
ltrace

同じことを行うことができるltraceに代わるものはありますか?

ltraceリンクされたバイナリ-z nowオプションとリンクされたバイナリでは機能しません。 - 確認してください。これ質問 - これは私のUbuntu 19.10システムのデフォルト設定です。でのみ機能します-z lazy。 ltrace同じことをしますが、うまくいく代替手段はありますか?怠惰なリンクバイナリもありますか? ...

Admin

straceとltraceがEINTRを引き起こすのはなぜですか?
ltrace

straceとltraceがEINTRを引き起こすのはなぜですか?

次のプログラムを検討してください。 #include <stdio.h> #include <sys/epoll.h> int main(void) { int epfd = epoll_create1(0); struct epoll_event event; event.events = EPOLLIN; event.data.fd = 0; epoll_ctl(epfd, EPOLL_CTL_ADD, 0, &event); epol...

Admin

Systemtap によって segfault が発生します。なぜですか?
ltrace

Systemtap によって segfault が発生します。なぜですか?

システム全体のライブラリ呼び出しを監視しようとしています。私はライブラリ呼び出しを追跡するために次のスクリプトを書きましたlibguestfs。 probe begin { printf("ok\n") } probe process("/usr/lib64/libguestfs.so.0.471.0").function("*") { print_usyms(ubacktrace()) } その後、test.stpとして保存し、「sudo stap test.stp」を実行しました。これらの関数呼び出し...

Admin

vfork()はSYS_vforkを呼び出しますが、fork()はSYS_cloneを呼び出しますか?
ltrace

vfork()はSYS_vforkを呼び出しますが、fork()はSYS_cloneを呼び出しますか?

ltrace -S(バージョン5.4.0)でコンパイルされた2つのプログラムgcc(vfork()もう一方を呼び出す)を実行した後、呼び出しが同時に呼び出されるfork()ことがわかりました。どこでもこの特定の動作に関する情報を見つけることができません(一部のソースではそれぞれ、およびがその名前の呼び出しで実装されると言い、他のソースでは3つの呼び出しすべてを使用して実装されると言います。vfork()SYS_vforkfork()SYS_clonefork()vfork()clone()sys_sys_clone ソースコード: #include&lt...

Admin

ライブラリ関数呼び出しに対するシステム全体の監視
ltrace

ライブラリ関数呼び出しに対するシステム全体の監視

私は多くのプロセスが同時に実行される最新のLinuxデスクトップを持っています。プロセスの1つ(どのプロセスかはわかりません)が、人気のsome_funcある動的ライブラリsome_lib(libcまたはlibx11と思います)の関数を呼び出します。たくさんこれを使用するプロセス)どのプロセスがこれを行うかを知りたいです(理想的には、各呼び出しにスタックトレースが必要です)。 どのプロセスが呼び出されたかを確認するにはsome_lib? これまでに考慮したオプションは次のとおりです。 ltraceまたは使用latrace:ltrace呼び出したい関数...

Admin

プロセスでTracerPIDを非表示にする方法は?
ltrace

プロセスでTracerPIDを非表示にする方法は?

私の考えではLinuxのSQL Serverが確認し、/proc/self/statusそうTracerPIDでない場合は停止します。0。テストしたいです。楽しいです、これはstraceです。 ... lots of stuff openat(AT_FDCWD, "/proc/self/status", O_RDONLY) = 5 fstat(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(5, "Name:\tsqlservr\nUmask:\t0022\nState"..., 1024) = 10...

Admin

ltraceに出力がないのはなぜですか?
ltrace

ltraceに出力がないのはなぜですか?

数日間、私はターミナルエミュレータでこのコマンドを実行してきました。 ltrace -p `pgrep xfwm4` システムを正常に使用しても何も表示されませんでしたltrace。注:xfwm4Xfceのウィンドウマネージャです。 これが期待されるか。忙しいウィンドウマネージャはライブラリ呼び出しをしませんか? ltracexfwm4でランダムに発生し、予測不能なエラーが発生しました。原因が何であるかについての手がかりを提供できることを願っています。 ...

Admin

共有ライブラリを追跡する方法は?
ltrace

共有ライブラリを追跡する方法は?

特定のライブラリの関数呼び出しを追跡したいと思います。 libfooと呼びます。残念ながら、これに関する文書を見つけることがほとんどなかったので、多くの質問があります。 libfoo ドキュメントには、foo_a、foo_b、foo_c.. の呼び出しが API 呼び出しとしてリストされています。 Windows DLLでは、これらの呼び出しリストを生成するのは簡単です。すべての外部呼び出しはdllexport(DLL)または同様のものとして宣言する必要があり、単純なスクリプトはエクスポートされたすべてのシンボルを抽出します。 Linux共有オブジェクトの...

Admin

引用する
ltrace

引用する

システムコールの追跡に使用すると、ltracefork()がsys_fork()の代わりにsys_clone()を使用していることがわかります。しかし、それを定義するLinuxソースコードが見つかりません。 私のプログラムは次のとおりです #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else ...

Admin

プロセスが実行しているコマンドが何であるかを確認するには?
ltrace

プロセスが実行しているコマンドが何であるかを確認するには?

私はstraceとltraceを理解していますが、これはプロセスが実行されているシステムコールとライブラリコールのみを伝えます。プロセスが実行されているコマンドが何であるかを正確に知りたいです。アセンブリまたはCとアセンブリの間の中間点(可能な場合)。バイナリがデバッグシンボルとしてコンパイルされていないと仮定するため、最初のオプションが優先される可能性が高くなります。 ユースケース:プロセスが中断されたようで、straceまたはltraceから出力がありません。プロセスが「何か」を実行していることを確認します。私はこれが停止問題を解決するのと似ていると思...

Admin