Debug-Process
ローカル コンピューター上で実行中の 1 つ以上のプロセスをデバッグします。
構文
Debug-Process [-Name] <string[]> [-Confirm] [-WhatIf] [<CommonParameters>]
Debug-Process [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>]
Debug-Process -InputObject <Process[]> [-Confirm] [-WhatIf] [<CommonParameters>]
説明
Debug-Process コマンドレットは、ローカル コンピューター上で実行中の 1 つ以上のプロセスにデバッガーを結合します。プロセスを指定するには、プロセス名またはプロセス ID (PID) で指定するか、プロセス オブジェクトを Debug-Process に渡します。
Debug-Process は、現在プロセスに登録されているデバッガーを結合します。このコマンドレットを使用する前に、デバッガーがダウンロードされていて適切に設定されていることを確認します。
パラメーター
-Id <Int32[]>
デバッグするプロセスのプロセス ID を指定します。パラメーター名 ("-Id") は省略可能です。
プロセスのプロセス ID を検索するには、「get-process」と入力します。
必須 |
true |
位置 |
1 |
既定値 |
なし |
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
false |
-InputObject <Process[]>
デバッグするプロセスを表すプロセス オブジェクトを指定します。プロセス オブジェクトを含んでいる変数または Get-Process コマンドのようなプロセス オブジェクトを取得するコマンドを入力します。プロセス オブジェクトを Debug-Process に渡すこともできます。
必須 |
true |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-Name <string[]>
デバッグするプロセスの名前を指定します。同じ名前のプロセスが複数存在する場合は、Debug-Process は同じ名前のすべてのプロセスにデバッガーを結合します。パラメーター名 ("Name") は省略可能です。
必須 |
true |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
false |
-Confirm
コマンドを実行する前に確認メッセージを表示します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-WhatIf
実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Int32, System.Diagnostics.Process, System.String パイプを使用して、プロセス ID (Int32)、プロセス オブジェクト (System.Diagnostics.Process)、またはプロセス名 (String) を Debug-Process に渡すことができます。 |
出力 |
なし このコマンドレットは出力を生成しません。 |
注
このコマンドレットは、Windows Management Instrumentation (WMI) Win32_Process クラスの AttachDebugger メソッドを使用します。このメソッドの詳細については、MSDN (Microsoft Developer Network) ライブラリの「AttachDebugger Method (AttachDebugger メソッド)」(https://go.microsoft.com/fwlink/?LinkId=143640) を参照してください。
例 1
C:\PS>debug-process -name powershell
説明
-----------
このコマンドは、コンピューターの PowerShell プロセスにデバッガーを結合します。
例 2
C:\PS>debug-process -name sql*
説明
-----------
このコマンドは、名前が "sql" で始まるすべてのプロセスにデバッガーを結合します。
例 3
C:\PS>debug-process winlogon, explorer, outlook
説明
-----------
このコマンドは、Winlogon、Explorer、Outlook の各プロセスにデバッガーを結合します。
例 4
C:\PS>debug-process -id 1132, 2028
説明
-----------
このコマンドは、プロセス ID 1132 および 2028 のプロセスにデバッガーを結合します。
例 5
C:\PS>get-process powershell | debug-process
説明
-----------
このコマンドは、コンピューターの PowerShell プロセスにデバッガーを結合します。このコマンドは、Get-Process コマンドレットを使用してコンピューター上の PowerShell プロセスを取得し、次にパイプライン演算子 (|) を使用してそのプロセスを Debug-Process コマンドレットに送信します。
特定の PowerShell プロセスを指定するには、Get-Process の ID パラメーターを使用します。
例 6
C:\PS>$pid | debug-process
説明
-----------
このコマンドは、コンピューターの現在の PowerShell プロセスにデバッガーを結合します。
このコマンドは、現在の PowerShell プロセスのプロセス ID を含んでいる $pid 自動変数を使用します。次にパイプライン演算子 (|) を使用して、プロセス ID を Debug-Process コマンドレットに送信します。
$pid 自動変数の詳細については、「_Automatic_Variables」を参照してください。
例 7
C:\PS>get-process -computername Server01, Server02 -name MyApp | debug-process
説明
-----------
このコマンドは Server01 コンピューターと Server02 コンピューター上の MyApp プロセスにデバッガーを結合します。
このコマンドは、Get-Process コマンドレットを使用して、Server01 コンピューターと Server02 コンピューター上の MyApp プロセスを取得します。パイプライン演算子を使用してプロセスを Debug-Process コマンドレットに送信し、デバッガーを結合します。
例 8
C:\PS>$p = get-process powershell
C:\PS> debug-process -inputobject $p
説明
-----------
このコマンドは、ローカル コンピューターの PowerShell プロセスにデバッガーを結合します。
最初のコマンドで、Get-Process コマンドレットを使用してコンピューター上の PowerShell プロセスを取得します。結果のプロセス オブジェクトを $p 変数に保存します。
2 番目のコマンドは、Debug-Process の InputObject パラメーターを使用して、$p 変数に格納されているプロセス オブジェクトを Debug-Process に送信します。
関連項目
概念
Get-Process
Start-Process
Stop-Process
Wait-Process
Debug-Process