問題タブ [sysinternals]
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.
windows - プロセス内のこのコミットされていない予約済みメモリは何ですか?
SysInternals の VMMap を使用して、WinXP 上の Win32 C++ プロセスによって割り当てられたメモリを調べています。割り当てられたメモリの一部が予約されているがコミットされていない割り当てが多数見られます。私が読んでテストした限りでは、C++ プログラムで使用される一般的なメモリ アロケータ (malloc、new、LocalAlloc、GlobalAlloc など) はすべて、常に完全にコミットされたメモリ ブロックを割り当てます。ヒープは、メモリを予約するが、必要になるまでコミットしないコードの一般的な例です。これらのブロックの一部は Windows/CRT ヒープであると思われますが、これらの種類のブロックは、ヒープに予想されるよりも多いようです。私のプロセスでは、サイズが 64k から 8MB のこれらのブロックが 30 個程度あります。私のコードは、VirtualAlloc を意図的に呼び出して、予約されたコミットされていないメモリを割り当てることはありません。
VMMap の例をいくつか示します: http://www.flickr.com/photos/95123032@N00/5280550393/
その多くが予約されているがコミットされていないメモリのブロックを割り当てるには、他に何がありますか? プロセスに 30 個のヒープがあることは理にかなっていますか? ありがとう。
crash-dumps - ダンプファイル分析の開始
Windows 7 がクラッシュすることがあるレガシーな VB6/COM アプリケーションを使用しています。Sysinternals の ProcDump ツールを使用して、これらのクラッシュの 1 つの .dmp ファイルを生成しました。ただし、これまでダンプファイルを扱ったことはありません。ダンプ ファイルの分析を開始するために、どのリソースをお勧めしますか?
windows-services - 非対話的に実行すると、PsExecがライセンスプロンプトでスタックします
SysInternalsPsExecユーティリティを呼び出すHudsonビルドスクリプトがあります。通常、特定のユーザーがPsExecを初めて実行すると、ライセンスを受け入れるようにユーザーに求めるダイアログボックスが表示されます。ビルドエージェントはサービスとして実行され、ビルドがPsExecでスタックしていることがわかります。Process Explorerは、PsExecが実行中であることを示しているので、同じプロンプトが表示されていると強く思いますが、非対話的に実行されているため、プロンプトを受け入れる方法はありません。このばかげた制限を回避する方法はありますか?Windows Server 2008R2x64で実行されています。
windows-7-x64 - CMD.exeは呼び出し直後に閉じます(Win7 64)
コマンドプロセッサ(cmd.exe)を呼び出した直後に閉じるときに、このような動作を見つけた人はいますか?McAfeeAVとWindowsシステムファイルチェック(sfc.exe)を実行しましたが、何も問題は検出されませんでした。他のWin 7マシンからcmd.exeファイルをコピーしても、同じように機能します。奇妙なことに、Windows 7 64には、完全に正常に機能する32ビットバージョンのファイルもあります。
SysInternals Process Monitorは、cmd.exeプロセスが終了コード0x0で終了することを示しています... o_O
また、pingなどのスタートメニューから直接コマンドを呼び出すと、正常に機能します…
たぶん、その質問はコーディングに厳密に関連しているわけではありませんが、その問題により、実際のアプリケーション開発や環境チェックに関連する多くのことを行うことができません。
c# - Windows ですべてのファイル IO システム コールの数を取得する方法
すべてのプロセスについて、Windows ベースの OS 内で生成されたすべてのファイル IO 呼び出しの数を取得するにはどうすればよいですか (少なくとも XP で動作させるため)。Process Monitorに似ていますが、C# からプログラムでアクセスできます (C++ または C 経由で可能)。
詳細を知る必要はありません。1 秒あたりのすべての呼び出しの数だけです。数値が取得されたら、このようなファイルに (毎秒) ログを記録します。
UPDATE利用可能なAPI
がいくつかありますが、OS全体で使用できるかどうかはわかりません
process - システムの再起動を追跡する
最後の適切な構成でマシンを起動するまで、そうし続けます。ログインしてプロセスモニターを実行する機会はありません。この問題を追跡する方法について何か提案はありますか? sysinternals ツールのいずれかが役立ちますか?
前もって感謝します、
debugging - DebugView に代わるものはありますか?
テスト中のデバッグ/ログ記録にSysinternals DebugView を使用していますが、これは非常に優れています。しかし、私はもっと高度なツールがあると考えていました。
私が探している機能:
- ライブ フィルター - すべてをログに記録し (まあ、「興味深い」ものはすべて)、フィルターでビューを変更します
- プロセス名でフィルタ
- フィルタリングしてログを別のビューに分割する
- メッセージの解析
- 過去の OutputDebugString を拡張し、Windows 以外のデバイスから TCP/UDP メッセージを受信する
- スクリプト(?)
DebugView で気に入っている機能:
- フィルタリング
- 色
- 良いタイムスタンプ
- ライブビュー
このためのツールはありますか?または他の利用可能な技術?
私は Windows XP/7 を使用しており、主に Delphi と Python でプログラミングしています。
winapi - WMI は、PsExec や PsList などのユーティリティを使用するよりもはるかに遅いのはなぜですか?
WMI を使用してさまざまな OS 管理およびクエリ タスクを実行していますが、最初の WMI 呼び出しには常に長い時間がかかります (10 ~ 15 秒)。sysinternals のいくつかのツールを試してみたところ、それらが非常に高速であることがわかりました。これがどのように可能であるかを知りたいと思います。たとえば、PsList ツールが 2 秒未満で結果を返す方法と、wmi の場合は少なくとも 15 秒かかる方法です。この時間の多くは実際の作業ではなく認証に使用され、同じマシンに対する次の wmi クエリははるかに高速です。
sysinternals utilites のソース コードを見ることはできますか? WMI または直接の win32 API 呼び出しを使用していますか?
windows - Process Explorerの機能「タスクマネージャーの置き換え」を作成するにはどうすればよいですか?
ProcessExplorerには優れた機能がありますタスクマネージャーの置き換え
マーク・ルシノビッチがこれをどのように実装しているか疑問に思いました。
これを実装するためにどのようなトリックが使用されますか?
.net - SysInternals DebugViewにインデントを表示させるにはどうすればよいですか?
.NetアプリケーションでSysInternalsDebugViewを使用しています。.Net Debugクラスのインデント機能を使用してみましたが、DebugViewはこれを改行文字として表しているようです。
DebugViewにインデントを表示させることが可能かどうか誰かが知っていますか?
サンプルコード:
出力:
私が見たいもの:
リック