タグ付けされた質問 「trace」

5
Javaプログラムをトレースする方法は?
システム管理者として、私は時々、プログラムが異常に動作する状況に直面しますが、エラーをまったく作成しないか、意味のないエラーメッセージを作成します。 過去-javaが登場する前に-2つの対策がありました。 他に何も助けなければ-RTFM ;-) 1でも解決しない場合-システムコールをトレースし、何が起こっているかを確認します 私は通常strace -f、Linuxでこのタスクに使用します(他のOSには同様のトレースツールがあります)。現在、これは通常、昔ながらのプログラムではうまく機能しますが、javaプロセスで同じことをするとトレースは非常に曖昧になります。実際のアクションとは無関係に見えるシステムコールが非常に多いため、このようなダンプを検索するのは恐ろしいことです。 それを行うためのより良い方法はありますか(ソースコードが利用できない場合)?
25 linux  java  trace 

2
どのプロセスがSTDOUTに書き込みを行っているかを調べる方法は?
実行中のプロセスの2つのインスタンスがあります。それらの1つは「frEAkIng oUT!」です。また、印刷エラーはSTDOUTに止まりません。 壊れたプロセスを強制終了したいのですが、間違ったプロセスを終了させないようにする必要があります。両方ともほぼ同時に開始され、使用するtopと、どちらもほぼ同じ量のメモリとCPUを使用していることがわかります。どのプロセスが正常に動作していないかを示すものを見つけることができないようです。 最も安全なことは、どのプロセス/ pidがSTDOUTに書き込んでいるかを把握することです。 それを行う方法はありますか?

2
ライブラリ呼び出しのstrace
システムコールを監視するのに非常に便利なstraceを知っています。外部ライブラリへの呼び出しをトレースできる同等のものはありますか? たとえば、コードにアクセスできない(および開発者が応答しない)サードパーティバイナリを使用して、SSLeayの誤動作をデバッグしようとしています。私は問題を突き止めたと思いますが、署名チェックされているデータがSSLeayに送信するためにどのようにフォーマットされているかを正確に確認せずにこれをテストすることはできません。

2
カーネル空間でのハードディスク書き込みの観察(ドライバー/モジュールを使用)
この投稿が少々密集している場合は事前におApび申し上げますが、それをより適切に定式化するのに苦労しています... 以下の私の理解は正しいですか?そうでない場合、どこが間違っていますか? ディスク書き込み中にPCで発生するすべての側面について、ログデータを「キャプチャ」するためのより良いツールはありますか? より詳細に-まず、私が使用しているOSは次のとおりです。 $ uname -a Linux mypc 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 18:00:43 UTC 2012 i686 i686 i386 GNU/Linux だから、私は次の簡単な(たとえば、操作の失敗の通常のチェックがスキップされる)ユーザースペースCプログラムを持っていますwtest.c: #include <stdio.h> #include <fcntl.h> // O_CREAT, O_WRONLY, S_IRUSR int main(void) { char filename[] = "/tmp/wtest.txt"; char buffer[] = "abcd"; int fd; mode_t perms = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH; fd = …

2
FreeBSD 10トレースディスクアクティビティ
FreeBSD 10でZFSを使用して(hdd ledに従って)ディスクに定期的に書き込みを行っているプロセスを見つける方法はありますか(ZFSを詳細ログモードに変更する場合があります)? lsof また、ディスクアクセスの瞬間が短いため、他の即時集計統計ユーティリティは何もキャッチできないようです。
9 freebsd  disk  zfs  lsof  trace 

2
カーネルのどのファイルがsys_clone()システムコールを使用するためにfork()、vfork()…を指定するか
ltraceを使用してシステムコールをトレースすると、fork()が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 printf("\nI am parent\n"); } そしてltraceの出力は SYS_brk(NULL) = 0x019d0000 SYS_access("/etc/ld.so.nohwcap", 00) = -2 SYS_mmap(0, 8192, 3, 34, 0xffffffff) = 0x7fe3cf84f000 SYS_access("/etc/ld.so.preload", 04) = -2 SYS_open("/etc/ld.so.cache", 0, 01) = 3 SYS_fstat(3, 0x7fff47007890) = 0 SYS_mmap(0, 103967, 1, 2, 3) …

1
Linux / ARMでライブラリ呼び出しをトレースするツール
Linux / ARMの共有ライブラリ内の関数の呼び出しを追跡できるツールを探しています。基本的に、コマンドラインを指定し、このツールで呼び出されたライブラリ関数と渡された引数のレコードを生成できるようにしたいと考えています。このために、何らかの形の関数フッキングを使用できると思います。 私が知っているはltrace、必要な機能を正確に提供します。しかし、ltraceそれは私にとってはうまくいきません: より複雑なプログラムをトレースすると、segfaultになることがよくあります。 非常に遅いです。 より堅牢な代替手段を探しています。スピードはいいですが、私の主な関心事ではありません。主に、任意の(非回避的)プログラムを分析できるライブラリー呼び出しをトレースする手段が必要です。 SysdigもARMでは機能せず、dtraceの移植はまだNetBSDでのみベータ版で機能しています。 誰かがそのようなツールを使用可能な状態で知っていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.