問題タブ [process-explorer]

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 投票する
1 に答える
1210 参照

windbg - Taskbar、Process Explorer、AdPlus などを使用してダンプを取得します。

それらは完全なダンプですか?後で Windbg を使用して分析できる最適なダンプは何ですか?

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

.net - タスク マネージャーは Process Explorer に同意しませんか?

.NET アプリのメモリ リークを追跡しようとしています。Windows タスク マネージャーはメモリ使用量が一定のままであると報告しますが、Process Explorerはメモリ使用量が増加していると報告します。

タスク マネージャーで、唯一のメモリ列「メモリ (プライベート ワーキング セット)」を見ています。Process Explorer では、「Private bytes」列を調べています。これは、値が上がっていて、「Working set」の下の値がそうではないためです。

何回か割り当てた後、アプリがメモリ不足の例外でクラッシュするためです。問題は、タスク マネージャーがアプリのメモリ使用量を誤って報告するのはなぜですか? それだけでなく、グローバル システムの空きメモリも誤って報告します ([パフォーマンス] タブのグラフは一定のままです)。

私のコードは必要ないはずですが、完全を期すためにここにあります。大きな配列を保持する空のウィンドウが表示されます。いずれかのキーが押されると、ウィンドウが閉じられ、新しいアレイが保持された新しいウィンドウが開かれます。おそらくqt4dotnet GUIライブラリのバグが原因で、古いウィンドウがリークしました。

OS: Windows7

興味深いことに、「データ」を次元の 2D ギザギザ配列にすると[1000 * 1000 * 100][1]、タスク マネージャーメモリ使用量の増加を報告します。

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

windows-7 - Svchost: svchost.exe のインスタンスごとに 1 つのモジュールのみを実行する方法は? 拡張プロセス情報を取得するには?

アプリケーションの 1 つに問題があります。アプリケーションを実行しましたが、すべて問題ありません。このアプリケーションを閉じると、システム内の「svchost」プロセスの 1 つが CPU の約 95 ~ 100% を占有していることに気付き、何が CPU サイクルを大量に占有しているのかを突き止める必要があります。

私はこれをどのように行うかについて、非常に単純で直接的な目標を設定しました。

  1. プロセス情報または非常に多くの CPU を占有しているこの特定の「svchost」を取得します
  2. 私は svchost プロセスが何に使用されるかを知っているので、それについて説明する手間を省きます。したがって、この不正な svchost によってどのモジュールがロードされているかを知る必要があります。
  3. アプリケーションを実行して閉じ、プロセスがメモリ内ではなく完全に閉じられていることを確認しました。次に、CPU を 100% 使用している svchost の PID を取得しました。
  4. ProcessExplorer (sysinternals から) を実行し、この svchost がホストしているサービスの数とサービスに関する情報を取得しました。それらは約12のサービスです。これらの 12 のサービスのどれが CPU サイクルを占有しているかを特定する方法が気になるので、このリストについては気にしません。
  5. 今、私はリストを持っています。ここからトリッキーな部分が始まります...以下の2つのオプションのうちの1つを実行したいです

オプション 1: これら 12 のサービスのうちどれが CPU を大量に消費しているかを特定するにはどうすればよいですか? この svchost プロセスの拡張情報を取得して、このプロセスでホストされている「サービスごと」の詳細情報を入手できますか?

オプション 2: svchost が svchost のインスタンスごとに 1 つのサービスのみを実行するように Windows を構成することは可能ですか?

この問題の根本原因を絞り込むためのより良い調査方法がある場合は、お知らせください。

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

memory - WinDbgダンプリストプライベート/共有ワーキングセット。DLLモジュールのメモリに関する質問

WinDbgに、Process ExplorerのDLLペインに表示されるようなモジュールメモリ使用量を一覧表示する方法があるかどうか知っていますか?WS Private ShareableSharedTotalについて知りたいのですが。Process Explorerを使用して作成した完全なアプリケーションダンプがあり、DLLからのメモリリークが疑われます。2つの類似したダンプを比較して、モジュールメモリで何が変更されたかを確認したいと思います。

ありがとう

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

windows - Process Explorer:コミット履歴グラフには何が表示されますか?

Process Explorerで使用可能なメモリグラフでは、上のグラフにコミット履歴が表示されます。これは実際にOSレベルで何を示していますか?

これがプロセスによってヒープに割り当てられたメモリであるかどうかを実験するために、100MBを何度も段階的にmallocする小さなプログラムを作成しました。コミット履歴グラフはしばらくの間増加し(最大1.7 GBのメモリ割り当て)、その後はプログラムがメモリを割り当てているにもかかわらず成長しませんでした。

それで、このグラフは何を示していますか?この情報を使用して、Windowsの状態を理解/分析するにはどうすればよいですか?

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

windows - Process Explorerの機能「タスクマネージャーの置き換え」を作成するにはどうすればよいですか?

ProcessExplorerには優れた機能がありますタスクマネージャーの置き換え

ここに画像の説明を入力してください

マーク・ルシノビッチがこれをどのように実装しているか疑問に思いました。
これを実装するためにどのようなトリックが使用されますか?

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

winapi - Process ExplorerはAPIをサポートしていますか、それともコンソールコマンドからの呼び出しですか?

複数のバージョンのソフトウェアをインストールしたとすると、一部のDLLはCOMとして登録されます。例えば:

どのcomObject.dllが登録されているかをどのように知ることができますか?(フォルダ「version1」または「version2」の下のどのパスですか?) 回答:これを行う1つの方法は、「Process Explorer」を使用し、「Find | Find Handle or DLL ...」に移動して、「comObject.dll」と入力することです。 「検索」ボタンをクリックします。 次に、パスがリストに表示されます

今私の質問に来ます:ソフトウェアパッケージが巨大で、何百ものCOMベースのDLLがインストールされている場合、手動で「Peocess Explorer」を開いて、検索結果で各DLL / OCX/EXEを検索したくありません。リストの内容をコピーすることはできません!!

私が欲しいのは、次のコマンドのように実行するツールであり、batファイルで実行できます。

output.txtは次のようになります。


上記の例では、comObject1.dllとcomObject2.dllはVersion1フォルダーからのものであり、comObject3.dllはVersion2フォルダーからのものです。

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

c# - アクティブウィンドウのコードファイルを取得するプログラム

私はProcessExplorerv15.13を持っています。正常に動作します。アクティブなウィンドウがどのプロセスに属しているかがわかります。一方、PEデバッガーは、VS 2010(または少なくともチームエクスプローラー2010 MSSCCI)と互換性がないと言っています。

アクティブなwinformに関連する.csデザイナーコードを特定できるようにしたいと思います。これはどのプログラムでも可能ですか?

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

c# - .NET 3.5 アプリケーションの CPU 使用率が高いことが mscorwks.dll InitializeFusion によって示される

Windows 7 マシンで実行されている .NET 3.5 C# wpf クライアント アプリケーションは大量の CPU を消費しており、プロセス エクスプローラーを使用してプロセスを調べると、mscorwks.dll!InitialzeFusion の開始アドレスを持つスレッドの束が表示されます。これらのスレッドは、CPU サイクルの大部分を消費しています。これらのスレッドが正確に何をしているのかを診断/デバッグする方法はありますか?

この時点で 55 のスレッドが実行されており、約 20 のスレッドがアクティブに CPU を消費しているのに対し、他のスレッドは何もしていないように見えることに注意してください。

これは、スレッドの 1 つからのスタックです。

USER32.dll!SystemParametersInfoW+0xc9

USER32.dll!IsProcessDPIAware+0x1d1

ntdll.dll!KiUserCallbackDispatcher+0x1f

USER32.dll!SfmDxSetSwapChainStats+0x1a

USER32.dll!GetMessageW+0x2a

mscorwks.dll!IEE+0xd23b

WindowsBase.ni.dll+0x11179b

WindowsBase.ni.dll+0x11e517

WindowsBase.ni.dll+0x117735

WindowsBase.ni.dll+0x1175ee

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

c# - Process Explorer での RtlUserThreadStart のデバッグ

3.5 で構築されたマルチスレッドの wpf アプリケーションがあります。Process Explorer で実行中のスレッドを見ると、8 つのスレッドがすべて同じ開始アドレス ntdll.dll!RtlUserThreadStart を持ち、8 つすべての CPU 値が 3 ~ 6+ で、Cycles Delta が高いことがわかります。これらのスレッドが何をしているのかわかりません。いつも同じスレッドです。アプリケーションの同じインスタンス内で変化することはありません。アプリケーションを同時にデバッグし、デバッガーを一時停止すると、これらすべてのスレッドが、System.Threading.ConcurrencyScheduler.Scheduler.WaitForWork() または System.Threading.Monitor.Wait() のいずれかのスタックの 1 行を表示しています。

Visual Studio のシンボル ファイルを有効にすると、これらのスレッドに次のスタックが表示されます。

プロセス モニター内のスレッドで提供されるスタックを見ると、次のような例が表示されます。

また:

この項目の追加メモとして。私のコンピュータは 4 コアのシングル CPU です。4 コアのデュアル CPU で同じアプリを実行すると、この数のスレッドが 8 から 16 になることがわかります。