問題タブ [windbg]
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.
visual-studio - 昇格なしのVisualStudio統合Webサーバーエラー
VisualStudioのasp.netプロジェクトがWindowsVistaで実行されており、UACが標準ユーザー(昇格されていない)でアクティブ化されています。
Visual Studio Webサーバー内でasp.netプロジェクトを実行しようとすると、プロセスがハングし、大量のCPUを使用し始めます。Visual Studioを昇格して実行すると、完全に機能します。
プロセスが行っていることは次のとおりです。「Global.netclrnetworking」にアクセスしようとしているようですが、機能していません。
0:000>!clrstack OSスレッドID:0xcec(0)ESP EIP
0021f09c 6dd09742 [NDirectMethodFrameGeneric:0021f09c] Microsoft.Win32.NativeMethods.CreateFileMapping(IntPtr、SECURITY_ATTRIBUTES、Int32、Int32、Int32、System.String)0021f0 .SharedPerformanceCounter + FileMapping.Initialize(System.String、Int32、Int32)0021f11c 56a02a30 System.Diagnostics.SharedPerformanceCounter + FileMapping..ctor(System.String、Int32、Int32)0021f12c 56a05af7 System.Diagnostics.SharedPerformanceCounter.GetCategoryData()0021f17c 56a056b8 System.Diagnostics.SharedPerformanceCounter..ctor(System.String、System.String、System.String、System.Diagnostics.PerformanceCounterInstanceLifetime)0021f19c 56a0456c System.Diagnostics.PerformanceCounter.Initialize()0021f1d0 56a0437f System.Diagnostics.PerformanceCounter.set_RawValue(Int64)0021f1ec 569ca4d3 System.Net.NetworkingPerfCounters.Initialize()0021f230 569c980a System.Net.Configuration.SettingsSectionInternal Configuration.SettingsSection)0021f270 569e3201 System.Net.Configuration.SettingsSectionInternal.get_Section()0021f29c 569e2aad System.Net.Sockets.Socket.InitializeSockets()0021f2ec 569e24e8 System.Net.Sockets.Socket..ctor(System.Net.Sockets 、System.Net.Sockets。SocketType、System.Net.Sockets.ProtocolType)0021f310 00370758 Microsoft.VisualStudio.WebHost.Server.Start()0021f33c 0037037b Microsoft.VisualStudio.WebServer.WebServerApp.Main(System.String [])0021f594 6dce1b4c [GCFrame:0021f594] 0: 000>!finalizequeue SyncBlocksをクリーンアップする:0リリースするMTAインターフェイス:0
リリースされるSTAインターフェイス:0
ジェネレーション0には104256のファイナライズ可能なオブジェクト(045e06fc-> 046463fc)ジェネレーション1には1つのファイナライズ可能なオブジェクト(045e06f8-> 045e06fc)ジェネレーション2には22のファイナライズ可能なオブジェクト(045e06a0-> 045e06f8)ファイナライズの準備ができています0オブジェクト(046463fc-> 046463fc)統計:MTカウントTotalSizeクラス名573bd7cc120 Microsoft.Win32.SafeHandles.SafeFileHandle 56a4a3f0 1 20 Microsoft.Win32.SafeHandles.SafeLocalMemHandle 57395c34 1 44 System.Threading.ReaderWriterLock 573b8e74 1 56 System.Threading.Thread 56a3e224 1 76 System.Net.Sockets.Socket 56a49d30 1120 System.Diagnostics.PerformanceCounter 57395bdc 8128 System.WeakReference 57397ba0 8160 Microsoft.Win32.SafeHandles.SafeRegistryHandle 56a4a448 1042572085140Microsoft.Win32.SafeHandles.SafeFileMappingHandle 合計104279オブジェクト
windbg - WinDBGからのフォアグラウンド.NETスレッドを判別するにはどうすればよいですか?
WinDBGからのフォアグラウンド.NETスレッドを判別するにはどうすればよいですか?!threadsコマンドを使用すると、SOS拡張機能はフォアグラウンドスレッドの数を示しますが、どのスレッドの数は示しません。
exception - windbg コマンド「kd」は何をしますか?
誤って kd を実行したところ、興味深い出力が得られました。モジュール内のコード行への参照であり、どのスレッドのコール スタックにも表示されません。行はメソッドの始まりではなかったので、参照が関数ポインタへのものではないと思いますが、メモリに格納されている例外の結果である可能性があります??? もちろん、それはたまたま私が探しているものです...
アップデート:
例外のスタック トレースは次のとおりです。
コードに (新しい Form 派生クラスを作成します)
dds 出力:
等
これは、この例外またはいずれかのスレッドのスタック トレースにないにもかかわらず、Initialize が呼び出されていることを示しているようです。示唆されているように、すべて pdb と dll の間の不一致である可能性がありますが、適切なクラスとメソッドにたどり着いたのは偶然のようです
asp.net - WinDbg と ADPlus で StackOverflowException をキャッチするのに役立ちます
短縮版
何かがクリーンアップされる前に、最初のチャンスの StackOverflowException で完全なメモリ ダンプを実行し、他のすべての例外の種類を無視する ADPlus スクリプトが必要です。
ログバージョン
新しい ASP.NET コードのリリース後、断続的な StackOverflowExceptions が発生するようになりました。前回の既知の正常なインストール以降に追加されたリビジョンで、無限の再帰とすべての通常の疑わしいものを探しましたが、何も見つかりません。Web サイトは最大 1 時間実行された後、クラッシュします。
WinDbg と SOS を使用し、次のコマンドを使用して、ADPlus を使用してクラッシュ ログを取得しようとしました。
-NoDumpOnFirst の理由は、ビジー状態のサーバー上でのみこのエラーを再現できるためです。最初の例外が発生するたびにミニダンプを実行するために (まあ、それは起こります)、デバッガーは IIS ワーカー プロセスを一時停止して 16 MB のファイルを書き出す必要があるため、要求がキューに入れられ、アプリケーションが不安定になります。エラーが頭をもたげるのに最大 1 時間かかる場合があるため、これは問題です。
したがって、-NoDumpOnFirst を使用すると、WinDbg がこれらのスレッドを出力するダンプ ファイルを取得します。
例外を出力しようとすると、スタック トレースがないことが示され、他のメソッドはそれがアンマネージ コードであると不平を言います。私の推測では、プロセスの終了時にダンプが作成されるため、すべてのスレッドがガベージ コレクションされており、取得する情報は残っていません。
デバッガーが StackOverflowException の最初のチャンスで完全なダンプを実行し、他のすべての例外の種類を無視することを本当に望んでいます。ADPlus が構成ファイル ( http://msdn.microsoft.com/en-us/library/cc409304.aspx )を使用できることは知っていますが、形式はすべてギリシャ語です。これを行う ADPlus スクリプトの作成方法を教えてもらえますか?
...もちろん、上記のスレッド リストを見て何が問題なのかを正確に把握している場合、または私がさらに情報を提供すればそれを理解できる場合は、それも教えてください。
解決の試み 1
以下の答えをありがとうdeemok、それは完全には正しくありませんでしたが、それは私を正しい方向に押し上げました. スタック オーバーフローの例外コードが間違っていた (sbo ではなく sov である) (または、当時はそう思っていたので、以下の deemok の編集を参照)、次の構成でデバッグを試みました。
そして、次のコマンドを使用します。
出力されたログ ファイルが正しい構成を示していることを確認しました。秘訣は、adplus のコマンド ライン パラメータが順番に実行されることです。そのため、初回例外をトラップする構成から開始してから -NoDumpOnFirst を適用すると、構成設定が上書きされます。-c last を指定して構成を適用すると、その設定が優先されます。
しかし、最終的に、スタック オーバーフローはキャッチ不能であることが判明しました。スタック オーバーフローが発生し、メモリ ダンプが取得できず、2 回目のプロセス終了イベントでダンプが発生し、再びすべてがガベージ コレクションされて、有用な情報が得られませんでした。
スタック オーバーフローに関与してオーバーライドしている場合に備えて、プロセス終了例外を短絡しようとしましたが、例外が発生し、メモリ ダンプが得られませんでした。
幸いなことに、コードを調べて答えを見つけました。もちろん、これは循環メソッド呼び出しのケースでした。
実際の解像度
この問題はかなり前に解決されていましたが、スタック オーバーフローを引き起こす ASP.NET ページをすぐに作成しました。(結局のところ、それは難しいことではありません)そして、以下のAxlの応答を試しました.
XML が少しずれて</ADPlus>
いました。Axl はタグを閉じるのを忘れていました (または、おそらくコピーと貼り付けで失われました)。しかし、それは簡単に修正でき、adplus は親切にも何が問題なのかを正確に教えてくれました。
そのスクリプトをテスト スタック オーバーフロー スローアーに対して設定し、結果を windbg にロードしました。!clrstack を呼び出すと、相互に循環的に呼び出しているメソッドの非常に明確な (そして長い) リストが得られました。これで問題が一瞬で見つかりました!次回スタック オーバーフローが発生したときのために、このページをブックマークしておきます。
c# - WinDBGで管理された例外の詳細を確認するにはどうすればよいですか?
VS2005 C#コンパイラは、チームの夜間のビルドプロセス中にクラッシュします。WinDBGを使用して接続し、SOS拡張機能をロードし、コールスタックを印刷しますが、例外情報が表示されません。
次のように!PrintExceptionを試しました。
コールスタックの先頭は次のとおりです。
debugging - VBScript および ASP シンボル ファイルの入手方法
多くの Windows システム ファイルは、ダウンロード ページまたは http パスを通じて Microsoft から入手できます。私の WinDbg は VBScript.dll と ASP.dll のシンボル ファイルを見つけることができず、インターネット上でそれらを見つけることができないようです。サーバー上の VBScript.dll は 5.6.0.8835 で、ASP.dll は 6.0.3790.4195 です。どちらも、ここからダウンロードしたシンボル ファイルよりも新しいファイル日付を持っています。
windows - windbgdumpコマンドがエラー0x8007012bで失敗する
顧客がハングのミニダンプをキャプチャしようとしています。彼はWindDbgを起動し、プロセスに正常に接続します。WinDbgはそのヘッダーを表示します。
ロードされたモジュールが列挙されます。
彼はダンプコマンドを入力します:
それは報告します:
エラー0x299は次のとおりです。ファイルシステムの制限により、要求された操作を完了できませんでした
これが何を意味するのか、またはどのように診断するのか、何かアイデアはありますか?
c# - cdb / windbg+.netドキュメントへのリンクを探しています
私はcdbを使い始めたばかりで、とても気に入っています。
cdbの使用に関して見つけた興味深い記事をいくつか見つけてブックマークしましたが、他の人々のリソースを見てみたいと思います。
cdb(windbg)から最大の有用性を引き出すためにどのサイトを使用しますか
.net - 私のヒープは断片化されていますか
ピン留めと断片化について読んでいます。大量の空き容量を考えると、断片的に見えます。私は今それを追跡する必要があると思います。
考え?フィードバック?
c++ - ビルド後の手順により、ネイティブdllのシンボル(pdb)が読み込まれません
シンボルで構築されたネイティブリリースdllがあります。dllを変更するビルド後の手順があります。ビルド後のステップでは、ある程度の圧縮が行われ、おそらくいくつかのデータが追加されます。pdbファイルは引き続き有効ですが、WinDbgもVisual Studio 2008も、ビルド後の手順の後にdllのシンボルをロードしません。リリースdllが参照されているダンプをロードするときにWinDbgまたはVisualStudioのいずれかがシンボルをロードするようにするには、pdbファイルまたはdllのどのビットを変更する必要がありますか?
重要なのはファイルサイズですか?チェックサムまたはハッシュ?タイムスタンプ?
ダンプを変更しますか?またはpdbを変更しますか?出荷前にdllを変更しますか?
(pdbは、リリースされたdllを参照するダンプコールスタック内のアドレスのシンボル名を手動で取得するために使用できるため、有効であることがわかっています。* ssで、コールスタック内のすべてのアドレスに対して手動で行うのは非常に面倒です。すべてのスレッド。)