問題タブ [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.

0 投票する
12 に答える
291766 参照

linux - strace はどのように使用する必要がありますか?

Linux ですべてのデバッグに失敗した場合の最後のオプションは、 straceを使用することだと同僚が言ったことがあります。

私はこの奇妙なツールの背後にある科学を学ぼうとしましたが、私はシステム管理の第一人者ではなく、実際には結果が得られませんでした.

そう、

  • それは正確には何ですか、それは何をしますか?
  • どのような場合に、どのように使用する必要がありますか?
  • 出力をどのように理解し、処理する必要がありますか?

簡単に言え、これはどのように機能するのでしょうか?

0 投票する
2 に答える
1261 参照

java - strace Java アプレット

Java アプレットを strace しようとしていますが、strace が機能していないようです。次の関数を呼び出しています。

上記のメッセージが呼び出される直前に strace から次の出力が得られ、strace からは何も得られません。

メソッドからログ出力を取得し始めると、strace からは何も得られません。私はstraceにかなり慣れていません。何が起こっているのかについての手がかりはありますか?アプレットはトレースできますか?

0 投票する
3 に答える
13551 参照

linux - osxに相当するltrace?

osx には非常に強力な dtrace/ktrace/dtruss ツールがありますが、今はそれらの処理を学ぶために必要な時間を費やすつもりはありません。

OSX で Linux ltrace (および場合によっては strace) と同等の機能を取得する最も簡単な方法は何ですか?

0 投票する
2 に答える
999 参照

linux - strace へのカスタム構造体型の追加

ioctl syscalls を介してカーネル ドライバーと対話するユーザー モード共有オブジェクトをリバース エンジニアリングしようとしています。カーネル ドライバーの ioctl インターフェイスの定義を含むヘッダー ファイルがあります (つまり、ioctl コマンド番号の #defines と、ioctl に送信されるさまざまなデータの構造体定義)。

strace には、システム コールに渡されるユーザー ポインターを逆参照する機能があることがわかりますが、ioctl に渡されるカスタム構造体を逆参照することはできません。ポインタアドレスだけでなく、意味のあるデータが ioctl に渡されるように、自分の定義を strace に追加する簡単な方法はありますか?

strace のソースがあり、正常にコンパイル/インストールしましたが、独自のヘッダーをインクルードしようとしても効果がありませんでした。

0 投票する
1 に答える
56051 参照

macos - Mac OS X の strace -feopen < command > と同等

これはデバッグに役立ちます (したがってプログラミング関連)。Linuxでは、コマンドを使用できます

どの python モジュールと共有オブジェクトがロードされているかを把握します。macOS X に同等のワンライナーはありますか?

0 投票する
3 に答える
6641 参照

c - Linux シグナルを傍受する方法は? (C)

Linuxでstraceが行うように、バイナリからの信号を傍受して追跡する必要があります。実際の strace のような冗長な出力は必要ありません。それがどのように機能するか、信号を傍受する方法、信号を追跡する方法を知りたいだけです。前もって感謝します :)

0 投票する
3 に答える
13641 参照

linux - 実行中の JBoss プロセスで「strace -p」を実行できない

「strace -p」を使用して、すでに実行中の JBoss プロセスにアタッチしようとしています。JBoss は 1.5.0_15 Java JDK を使用しています。残念ながら、これは機能しません - futex() の結果は 1 つしか得られません。

Strace は他のすべてのプログラムで機能しますが、JBoss では機能しません。strace を介してプロセスを起動すると、正常に動作するように見えます。すでに実行中のプロセスにアタッチしようとすると、うまくいきません。

64 ビット Linux 2.6.18 と 32 ビット Java JDK を使用しています (重要な場合は RedHat Enterprise Linux 5.3)。

更新 #1:

「-d」を付けて実行してみましたが、少なくとも私にとっては、出力はこれ以上洞察に満ちているようには見えません。

0 投票する
4 に答える
1343 参照

linux - What interprocess locking calls should I monitor?

I'm monitoring a process with strace/ltrace in the hope to find and intercept a call that checks, and potentially activates some kind of globally shared lock.

While I've dealt with and read about several forms of interprocess locking on Linux before, I'm drawing a blank on what to calls to look for.

Currently my only suspect is futex() which comes up very early on in the process' execution.

Update0

There is some confusion about what I'm after. I'm monitoring an existing process for calls to persistent interprocess memory or equivalent. I'd like to know what system and library calls to look for. I have no intention call these myself, so naturally futex() will come up, I'm sure many libraries will implement their locking calls in terms of this, etc.

Update1

I'd like a list of function names or a link to documentation, that I should monitor at the ltrace and strace levels (and specifying which). Any other good advice about how to track and locate the global lock in mind would be great.