問題タブ [mdbg]
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# - mdbg を使用してプロセスから切り離すことができない
この質問に続いて、Mdbg API を使用してプロセスにアタッチできるコードができました。
問題は、必要に応じてプロセスから切り離すことができないことです。mgProcess.Detach().WaitOne();を呼び出すと 、(ここで、mgProcess は MDbgEngine オブジェクトから作成された MDbgProcess です) 次のエラー メッセージが表示されます。
mgProcess.Detach()またはmgProcess.CorProcess.Detach()を呼び出そうとすると、同じ結果が得られます。
Mdbg プロセスをデタッチする正しい方法を知っている人はいますか?
asp.net - Mdbg を使用した ASP.NET 用の Web ベースのスタック ダンプ ツール?
MySpace.comのチーフ システム アーキテクトである Dan Farino による素晴らしいプレゼンテーションがあり、特定のプロセスで実行されているすべてのスレッド (スレッドの実行内容、実行時間など) をカタログ化する Web ベースのスタック ダンプ ツールを紹介しています。 .)
彼らのテクニックは、 highscalability.comにもまとめられています。
- パフォーマンスコレクター。
UDP によるパフォーマンス データの集中収集。Windows よりも信頼性が高く、あらゆるクライアントが接続して統計情報を表示できます。 - Web ベースのスタック ダンプ ツール。
問題のあるサーバーを右クリックして、.Net 管理スレッドのスタック ダンプを取得できます。以前は、システムに RDC を接続してデバッガーを接続し、1/2 後に回答を得なければなりませんでした。遅く、拡張性がなく、退屈です。単なるスタック ダンプではなく、スレッドが何をしているかについて多くのコンテキストを提供します。データベースで 90 個のスレッドがブロックされていることがわかり、データベースがダウンしている可能性があるため、トラブルシューティングが容易になります。 - Web Base ヒープ ダンプ ツール。
すべてのメモリ割り当てをダンプします。開発者にとって非常に便利です。手作業で何時間も節約できます。• プロファイラー。要求を最初から最後まで追跡し、レポートを生成します。URL、メソッド、ステータスなど、遅いリクエストを特定するのに役立つすべてを確認します。ロックの競合を調べたり、多くの例外がスローされたり、興味深いことは何でも調べます。非常に軽量。本番環境では、VIP (100 サーバーのグループ) ごとに 1 つのボックスで実行されています。10 秒ごとに 1 つのスレッドをサンプリングします。常にバックグラウンドでトレースします。
問題は、ASP.NET 用の Web ベースのスタック ダンプ ツールを構築するには、どのツールが必要かということです。便宜上、ターゲット AppDomain でホストされている *.aspx で、そのプロセスのすべてのマネージ コール スタックを出力できると仮定しましょう。
Mdbg (C#/IL で完全に記述され、CLR 2 SDK で出荷が開始されたマネージ コード用のデバッガー) と、通常は C:\Program Files\Microsoft Visual Studio 8\SDK\ にあるmdbgcoreアセンブリの使用をカバーする投稿がいくつかあります。 v2.0\ビン:
- http://dotnetdebug.net/2005/11/09/exceptiondbg-v01-debug-your-exceptions/
- http://blogs.msdn.com/jmstall/archive/tags/MDbg/default.aspx
- http://blogs.msdn.com/vijaysk/archive/2009/11/04/asp-net-debugger-extension-for-iis-7.aspx
ソリューションは、単にこのアセンブリを参照して、目的の出力を生成しますか? 「管理されているすべての呼び出しスタックを一覧表示する」操作は、運用トラフィックを処理している実行中のプロセスにどのような影響を与えますか?
c# - MDbg を使用して、実行中の .NET プロセスでプログラムによって型を列挙するにはどうすればよいですか?
実行中の .NET プロセスにロードされたすべての異なるタイプのリストを出力したいと考えています。私の計画は、最終的にこれに基づいて GUI アプリを構築することなので、サードパーティのツールではなく、自分のコードからこれを行いたいと考えています。私の最善の策は、MDbgCore を使用して実行中のプロセスにアタッチし、次に MDbgProcess.AppDomains を使用して CorAppDomain オブジェクトを取得し、オブジェクト モデルを試してみることです。
ただし、私の人生では、他のプロセスを停止して AppDomains を確認することはできません。私は次のようなコードを使用しています (これは、Mike Stall のブログのコードに基づいています) 。
これは以下を出力します:
debugger.Options.Stop* のさまざまなフレーバーを試しました。すべてのメソッドを繰り返し処理し、それらすべてにブレークポイントを設定することを考えましたが、Modules リストも繰り返し処理できません。debugger.Options.Trace を試してみましたが、それはターゲット アプリをトレースするのではなく、TraceListeners を使用して MDbg の実行をトレースすることに関係しています。
noddy デバッガー アプリをリリース モードで実行し、ターゲットをデバッグ モードで実行しています。私は Visual C# 2010 を使用していますが、頭がいっぱいです。誰でもこれに光を当てることができますか?
.net - Mdbg はどこで入手できますか?
Mdbg を使用して .net コードをデバッグできるようにしたいと考えています。Visual Studio をインストールする以外に入手する方法はありますか (これが有効な入手方法であると仮定します)。
.net - .NET 4.0 用の mdbg マネージ デバッガー サンプルはありますか?
mdbg マネージ デバッガー ソースの .NET 4.0 バージョンはありますか?
CPU アナライザーを移植する必要があり、ICorDebug は .NET 4.0 で少し変更されました。
c# - mdbgはHelloWorldプログラムをデバッグできません
mdbgを試すために、次の簡単なhelloworldプログラムがあります。
csc / debug kkk.csを使用してコンパイルすると、次のようになります。
次に、(Visual Studioコマンドラインから)次のことを行います。
また
私が得た:
.net - mdbgを使用してw3wpに接続する
コマンドラインマネージデバッガー(mdbg)を使用してw3wpプロセスに接続しようとしています。「a」コマンドを使用すると、プロセスのリストにプロセスが表示されません。
問題は、w3wpプロセスがLocalSystemアカウントの別のセッションで実行されており、mdbgを使用してこれらのタイプのプロセスに接続する方法に関するドキュメントが見つからないことであると確信しています。
出来ますか?
.net - CorDbgとMdbgに関する優れたリソース
.NETのCorDbgおよびMdbgデバッガーに関するいくつかの優れたリソースと、MSIL(CIL)に関するいくつかの情報を探しています。
debugging - 「コードは最適化されています」例外のため、Mdbg を使用して機能評価できません
MdbgCore.dll を使用して、スレッド コールスタックのパラメーターからプロパティを評価しています。
これを行うために、func-eval を実行しています。
残念ながら、func-eval を実行しようとする試みはすべて CORDBG_E_ILLEGAL_IN_OPTIMIZED_CODE で失敗しています。これは、func-eval に使用されているスレッドが GC セーフ ポイントにないためと思われます。
これは、http: //blogs.msdn.com/b/jmstall/archive/2005/11/15/funceval-rules.aspxに記載されています。
プロセス内のすべてのスレッドをスキャンして、GC セーフ ポイントにあるスレッドを見つけようとしましたが、それらはすべて、USER_UNSAFE_POINT でマークされた UserState を持っているようです。
この件に関するドキュメントは非常に乏しく、関数評価を実行できるように GC セーフ ポイントでスレッドを取得する方法があるかどうかを突き止めようとしているところです。func-eval を実行するスレッドを使用して決定論的にプロセスに割り込むことができるものは何でも検討します。
免責事項: 最適化されたアセンブリに存在するクラスのメソッドを評価しようとしているため、これが問題を引き起こしている可能性があるかどうかはわかりません。
サンプル コードは次のとおりです。
}
Microsoft / Mdbg チーム、お手伝いできますか?
ベスト、マイク
.net - MDBG (マネージド デバッガー) for .NET は商用目的で無料で使用できますか?
私はプロジェクトを作っています。そのためには、デバッガを使用する必要があります。ひどくMDBGが私の最初の選択です。しかし、サンプルをダウンロードしてeulaを読んだとき。と述べている
ソフトウェアを商用ソフトウェア ホスティング サービスに使用することはできません。
しかし、このユーラは
MICROSOFT CLR マネージド デバッガー (MDBG) ソース サンプル
だから私の質問は、私はそれを使うことができますか、それとも私はできませんか?