問題タブ [diagnostics]
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.
diagnostics - C: ライブラリのトレース/診断メッセージには何を使用すればよいですか?
.NET では、System.Diagnostics.Trace を使用します...
C または C++ で何を使用しますか?
今、私はマクロを定義しています:
診断オン:
デバッグオフ:
標準的な方法はありますか?
windows - リアルタイムロギング
「スケジューラー」の一部であるループを持つアプリケーションがあります。これは常に実行され、アプリケーションの中心です。ゲームループとほとんど同じですが、私のアプリケーションはWPFアプリケーションであり、ゲームではありません。当然、アプリケーションは多くのポイントでログを記録しますが、スケジューラーは機密性の高い監視を行います。ログだけでは、何が間違っているのか(間違って例外を意味するわけではありません)や現在のステータスを判断できない場合があります。
スケジューラの内部ループは短い間隔で実行されるため、そこでファイルI / Oベースのログ記録(またはイベントビューアの使用)を実行することはできません。まず、リアルタイムで監視する必要があります。次に、ログファイルのサイズが非常に速く大きくなります。そこで、このデータをリアルタイムでユーザーに表示する方法を考えていました。いくつか考えました。
- UIにリアルタイムでデータを表示する
- AllocConsole / WriteConsoleを使用して、この情報をコンソールに表示します
- この情報を表示する別のコンソールアプリケーションを使用し、パイプまたは他のIPC技術を使用してスケジューラとコンソールアプリの間で通信します
- Windowsのパフォーマンスモニターを使用して、どういうわけかこの情報をフィードします
- ETW
UIでの表示には問題があります。まず、アプリケーション用に考えていたUIと統合されていないため、このためだけにUIを複雑にしたくありません。この診断はめったに行われません。次に、スケジューラには独自のスレッドがあるため、重要なデータ保護が行われます。
別のコンソールウィンドウがおそらく機能するでしょうが、それがあまりにも多くのしきい値ではないかどうか私はまだ心配しています。これはWindowsアプリであるため、自分のコンソールを割り当てることは、IPC通信やノンブロッキング通信について心配する必要がないため、別のコンソールアプリケーション(3)よりもおそらく優れています。ただし、ユーザーは私が割り当てたコンソールを閉じることができ、その場合は問題が発生します。別のプロセスを使用すると、それについて心配する必要はありません。
パフォーマンスモニター用のAPIがあると仮定すると、それは私のアプリとうまく統合されていないか、ユーザーにはわかりません。ETWを使用しても何も解決されません。ランダムなアイデアですが、この情報を何らかの方法で表示する必要があります。
他の人はどう思いますか、私が逃した他の方法はありますか?
c# - .NET レガシーの診断
レガシ .NET アプリを引き継いでいるとします。C#で書かれた
アプリケーションの正常性を評価するために採用するプロファイリングなどの診断手段の上位 5 つを教えてください。
診断の「WHAT」の部分だけでなく、「HOW」の部分も見ています。たとえば、アプリの高速/最適な応答時間を評価することは確かに必要です。...しかし、ユーザーエクスペリエンスのフィードバックを取得するだけでなく、コードベースの技術的診断によってそれを確立/測定する方法はありますか?
(出典: gmu.edu )
もちろん、その目的のために使用する素晴らしいツールがいくつかあるはずです...それらもリストアップしていただければ幸いです。
asp.net - IE7 および 8 が CSS 画像でランダムにハングする
1 年以上運用されている ASP.NET 3.5 アプリケーションがあります。最後のリリースは数か月前です。div などへの背景画像のスタイリングと適用には CSS を使用します。サーバーは IIS を搭載した Windows 2003 です。
突然、今週、一部のユーザーから、読み込み中にページがハングアップしたように見えるという報告がありました。ステータス バーには、ページのメイン領域で使用される背景画像の名前が表示されていました (CSS で割り当てられます)。私たちのオフィスでは、問題を再現できる人もいれば、再現できない人もいました。IE6 と Firefox は影響を受けないようで、IE7/8 のみです。影響を受けたマシンで Fiddler を実行し、リクエストで何が起こっているかを確認しようとすると、問題が解決したように見えました (Fiddler を実行している間、そうでない場合は返されました)。ハングしたロードで [更新] をクリックすると、ページのロードが問題なく行われることがよくありました。
背景画像を確認し、アーカイブされたコピーに置き換えました。喜びはありません。本番ソースからアプリを再デプロイしました。喜びはありません。IIS を再起動し、最終的にサーバー全体を再起動しました。イベント ログ、アプリ ログ、または IIS ログに異常なエントリはありません。最後に、画像を完全に削除し、ページのスタイルを変更して背景画像を使用しないようにしました。これで、少なくとも今のところ問題は解決しました。
ただし、他の画像が「ぶら下がっている」という報告があります。画像は PNG ですが、GIF がハングすることがあるという噂を聞いたことがありますが、確認できるスクリーンショットはありません。
これは「突然」起こり始めたばかりです。最近、サーバーに適用されたリリースまたは更新はありません。クライアントの更新をチェックして、最近の Windows Update がクライアントでこれを引き起こした可能性があるかどうかを確認しましたが、過去 2 週間以内に何も更新されていませんでした.
この問題について何か情報をお持ちでしたら、ぜひお知らせください。また、私たちが試すことができる追加の診断に関する推奨事項があれば、大いに感謝します.
asp.net - ASP.NET 診断ページのセキュリティ
ASP.NET アプリの診断ページを作成することを考えています。これは主に、問題を診断するためのアプリケーションに関する詳細情報を取得するために管理者が使用することを目的としています。
ページに含まれる可能性のある情報の例:
- System.Environment.MachineName (Web ファームのシナリオで役立つ場合があります)
- System.Environment.Version
- 環境.ユーザー名
- データベース名
- 現在のユーザーのセッション ID
このページの情報の一部は、セキュリティの観点から機密情報である可能性があります。以前にこの種のページを作成したことがある場合、このページへのアクセスにどのようなセキュリティを設定しましたか? .
編集 :
追加する必要があります - 特定の (つまり実際の) エンド ユーザーとしてログインしているときに、このページを表示すると便利な場合があります。たとえば、特定のユーザーとしてログインした場合にのみ問題を再現できるとします。そのユーザーの診断ページを表示できると便利な場合があります。たとえば、現在のセッション ID を知っていると、デバッグに役立つ場合があります。
編集2:
この診断ページは、実際には 2 つの異なるページであるべきだと考え始めています。1 つはすべてのユーザーに同じもの (データベース名、CLR バージョンなど) を表示するもので、もう 1 つはセッションごとに異なるもの (ブラウザー情報、セッション ID など) を表示するものです。次に、最初のページのセキュリティをさらにロックダウンできます。
gcc - すべての GCC エラーおよび警告メッセージを含む Web ページ?
GCC が表示できるすべてのエラー メッセージと警告を一覧表示する Web ページへのリンクが必要です。説明ではなく、実際のメッセージです。
リストが、最も頻繁に発生する診断の順序になっていると望ましいでしょう。
c# - TraceSource.TraceTransfer vs TraceSource.TraceEvent(TraceEventType.Transfer)
ログ/トレースに System.Diagnostics TraceSource を使用する場合、TraceSource.TraceTransfer と TraceSource.TraceEvent(TraceEventType.Transfer, ... の使用に違いはありますか?
この環境では、WCF を介して通信する多数のサービスを開発します。また、ロギング/トレースに使用するプラットフォームを評価しています。少なくとも部分的には、CorrelationManager、ActivityID、TraceTransfer などを使用してサービス間でログを関連付けることができるため、System.Diagnostics の使用に傾いています。
TraceSource のドキュメントを見ると、TraceTransfer メソッドと、TraceEventType.Transfer をイベント タイプとして使用できる TraceEvent があることがわかります。いつどちらを使用しますか? Start/Stop の使用方法と、ActivityID および CorrelationManager の管理方法を示すhereのような例を見てきましたが、TraceSource.TraceEvent(TraceEventType.Transfer, ... ) を使用している人はほとんど見たことがありません。ここに、TraceEventType.Transfer の使用 (および明示的な TraceTransfer の呼び出し) を示す例があります。
この時点で、私は実際に自分の質問に答え始めているかもしれません...
TraceSource.TraceTransfer は、パラメーターとして渡される ActivityID を使用して明示的に何かを行っているようですが、TraceSource.TraceEvent(TraceEventType.Transfer, ...) を呼び出しても ActivityID を使用して明示的に何もしていないようです (パラメーターとして渡されないため)。 )。本当に別のイベントをログに記録しているように見えますが、それはたまたま Transfer イベントですが、CorrelationManager などでは何もしません。
助けてくれてありがとう。
c# - C#の単純なラウンドロビン(移動平均)配列
診断として、アプリに1秒あたりのサイクル数を表示したいと思います。(一人称シューティングゲームでは1秒あたりのフレーム数を考えてください。)
ただし、最新の値、またはリリース以降の平均を表示したくありません。計算したいのは、最後のX値の平均です。
私の質問は、これらの値を保存するための最良の方法についてだと思います。私が最初に考えたのは、固定サイズの配列を作成することでした。そのため、新しい値ごとに最も古い配列がプッシュされます。これはそれを行うための最良の方法ですか?もしそうなら、私はそれをどのように実装しますか?
編集: これが私が書いたクラスです:RRQueue。キューを継承しますが、容量を強制し、必要に応じてデキューします。
編集2: Pastebinはとてもパスです。今GitHubリポジトリにあります。
.net - Windows Azure の診断にイベント ログが表示されませんか?
Web ロールを使用して、.NET Remoting を Windows Azure で動作させようとしています。URL にアクセスしようとすると、500 内部サーバー エラーが発生します。Azure MMC ( http://code.msdn.microsoft.com/windowsazuremmc ) を使用してみましたが、インフラストラクチャ ログしか取得できません。イベント ログ、Azure ログなどはありません。私は何を間違っていますか?ログレベルフィルターを重大、エラー、警告、さらには未定義に設定しようとしましたが、運がありませんでした。
c# - 使用可能なシステムメモリのサイズを取得するにはどうすればよいですか?
C#.NETでシステムで使用可能なメモリのサイズを取得することは可能ですか?はいの場合はどうですか?