2


3

私はVCでプロセス内のシングルスレッドのCPU使用率を見つける方法についてのツールを探しています。

誰かが私に道具を提供することができればそれは素晴らしいことだ。

あなたがみんなプログラムで行う方法を提供するならば、それはより良いかもしれません。

前もって感謝します。

3 Answer


3


おそらく GetThreadTimesを使用すると解決するでしょうか。

スレッドが別の実行可能ファイルに属しているかどうかを詳しく説明すると、次の行にある(テストされていない)ものになります。

// Returns true if thread times could be queried and its results are usable,
// false otherwise. Error handling is minimal, considering throwing detailed
// exceptions instead of returning a simple boolean.
bool get_remote_thread_times(DWORD thread_id、ファイル名

bool success = GetThreadTimes(thread_handle、

CloseHandle(thread_handle);成功を返します。 }


3


プロセスエクスプローラを使ってみてください。 (ツール).. かなり便利です。


2


私はあなたがここでWindowsについて質問していると確信しています、しかし完全を期すために、私はこれがUnixシステムでされることができる1つの方法を説明します。

/ procファイルシステムには、マシン上で実行されているすべてのプロセスに関する情報が含まれています。 このディレクトリには、システム上のすべてのプロセスのサブディレクトリ(pidという名前)があります。これらの各ディレクトリの中には、statという名前のファイルがあります。 'man proc’を見て、 "stat"エントリを探してください。 このファイルには大量の情報が含まれていますが、このプロセスで消費されたユーザーモードとカーネルモードの時間を判断するために、いくつかのフィールドを使用できます。

この知識を手に入れて、 "task"と呼ばれるプロセスのサブディレクトリを探してください。 ここには、外側のプロセスによって生成されたすべての子プロセスがあります。 そしてそれらをcdすると、それぞれがstatファイルを持っていることがわかります。