問題タブ [trace]
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.
c# - autoflush='false' でカスタム TraceListener をファイナライズする (C#、.net)
ローテーションを追加するファイルにトレースメッセージを書き込むカスタム tracelistener を作成しています (たとえば、ファイル名を毎日変更するなど)。
メソッドのオーバーライドでは、基になるFlush
を呼び出しますが、アプリケーション構成で設定すると、アプリケーションが終了したときに呼び出されません。 Flush
StreamWriter
autoflush='false'
Flush
アプリケーションの終了時にカスタム トレース リスナーをファイナライズする正しい方法はどれですか?
編集:Dispose(bool disposing)
基本TraceListener
クラスはすでに使い捨てパターンを実装しているため、メソッドをオーバーライドしましたが、私が言うことができる限り、メソッドは呼び出されません。明示的なデストラクタを実装すると、デストラクタが呼び出されますが、その時点で、ストリーム参照がまだ有効であると想定するべきではありませんよね?
winapi - Windows での低オーバーヘッド I/O 監視
Windows プロセスの I/O を監視するオーバーヘッドの少ない方法が必要です。
Windows のプロセスによって実行される特定のシステム コールを監視することについて、いくつかの役立つ回答を得ました。最も有望なのは、Windows Performance Toolkit を使用してカーネル イベント トレースを取得することでした。必要なすべての情報は実際にそこから引き出すことができますが、WPT は私が必要とするものに対して非常に過剰であり、その後法外なオーバーヘッドが生じます。
私のアイデアは、C/C++ 依存関係グラフを検出する別のアプローチを実装することでした。通常、これはオプション (-M など) をコンパイラに渡すことによって行われます。これは、そのようなオプションを持つコンパイラとツールでは問題なく機能しますが、すべてが機能するわけではなく、それらを異なる方法で実装することがよくあります。そのため、どのファイルが開かれているかを検出するために strace を使用して Linux でこれを行う別の方法を実装しました。この方法で (たとえば) gcc を実行すると、50% のオーバーヘッド (概算図) が発生します。同様のオーバーヘッドを持つ Windows でこれを行う方法を見つけたいと思っていました。
ツールの xperf セットには 2 つの問題があり、この場合は使用できません。
- 単一プロセスのファイル I/O イベントを監視する方法はありません。すべてのプロセスをトレースするカーネル イベント トレースを使用する必要があるため、膨大な量のデータが生成されます (gcc、YMMV の実行にかかる時間は 15Mb)。
- カーネル イベント トレースを使用する必要があるため、管理者として実行する必要があります。
カーネル レベルでのイベントは本当に必要ありません。たとえば、Win32 API 呼び出しの CreateFile() を監視できれば、同様に管理できると思います。また、フォークされたプロセスをキャッチしたい場合は、CreateProcess() を呼び出すこともできます。
何か賢いアイデアはありますか?
wcf - ISAPI フィルターを使用して、WCF 呼び出しをトレースして時間を計りますか?
サービスとして他のアプリケーションによって消費される WCF を使用して Web アプリケーションを構築しています。私たちのアプリは Web サービスのファームにインストールされ、スケーラビリティのために負荷分散されます。1 つの Web サーバーに固有の問題が発生することがあります。応答から、要求が処理された Web サーバーと、場合によってはタイミング情報も判別できるようにしたいと考えています。たとえば、このリクエストは WebServer01 によって処理され、リクエストが完了するまでに 200 ミリ秒かかりました。
最初に思いついた解決策は、ISAPI フィルターを作成して、この情報を応答に格納する HTTP ヘッダーを追加することでした。これは、誰かが以前にやったにちがいないようなことだと思います。これを行うためのより良い方法、またはこれに使用できる既製の ISAPI フィルターはありますか?
前もって感謝します
firefox-addon - Flash 10 デバッガー flashlog.txt
Firefox 3 用の Adobe Flash Player 10 デバッガーをインストールしましたが、再描画領域を表示する以外に、flashlog.txt ファイルを見つけたり、オンラインでデバッガー機能を使用したりすることができません。理論的には私のFirefoxバージョンと互換性のあるFireFox拡張機能「Flash Tracer」をインストールし、現在それを機能させようとしています。
C:\Documents and Settings{user}\Application Data\Macromedia\Flash Player\ の下に flashlog.txt またはログ ディレクトリが見つかりません。デバッガーが正しくインストールされていることは確かです。mm.cfg ファイルが存在しなかったので、手動で作成しました。Flash トレーサー プラグインは、XP コンプのファイルがあるはずの場所からファイルを読み取ることができません。具体的に言うと
flashlog.txt ファイルが存在しません。最初に設定ダイアログを開きます。
私は何をしますか?私は本当にこのアドオンが正しく動作する必要があります. よろしくお願いします。
c++ - プリプロセッサを使用してコンパイル時にハッシュを計算および保存する方法は?
「イベント キュー」を使用してさまざまなスレッドで関数を実行するネイティブ C++ プログラムがあります。ヒープに「イベント」クラスを割り当て、スレッドのキューの 1 つに配置して実行します。
すべてうまく機能しますが、これらの「イベント」の起源をたどるのは非常に困難です。各「イベント」に、それがどこから来たのかに関する情報を保存したいと思います。現在、そのために組み込みを使用_ReturnAddress()
していますが、ファイル名の文字列と行番号も取得したいと考えています。「イベント」をスケジュールするためにマクロを使用しても問題ありません。
もちろん、これらの弦を手に入れるための代償は払いたくありません。
プリプロセッサを構築してダンプし、「id」=>「file,line」のマップをファイルする方法はありますか?ここで、「id」は、マクロが展開されるたびにインクリメントされる一意の番号になりますか? そのIDをオリジンとして保存できました。
または、実行時に使用できるように、ファイル名の非常に短いハッシュを計算することもできますか?
どんなアイデアでも大歓迎です。
sharepoint - SharePoint ロギング/トレース
SharePoint でログを記録する方法を教えてください。トレースを使用したい。
12 個のハイブ ログに記録されるようにします。
python - Python スクリプトで実行されているすべての関数/メソッドをトレースできますか?
すべての python 関数/メソッドの実行をプログラムでトレースする方法はありますか? それぞれがどの引数で呼び出されたかを確認したいと思います。私は本当にすべてを意味します。私はトレースデコレータには興味がありません。
Ruby では、必要なメソッドに別名を付けて、そこに追加の動作を追加することができました。
.net - トレース フィルタリング
System.Diagnostics.DefaultTraceListener
やなどの組み込みのトレース リスナーでフィルタリングを使用するにはどうすればよいSystem.Diagnostics.TextWriterTraceListener
ですか?
書き込みメソッドをオーバーライドしてフィルタリングを明示的にチェックする必要はありませんが、トレース情報にレベルをアタッチする方法が見つかりませんか?