cheshire-boy

システム・サービス

【Debug-Process】PowerShellで実行中のプロセスをデバッグする方法

投稿日:2017年1月19日 更新日:

こんにちは。チェシャ男です。(-皿-)

今回は、

【PowerShellでプロセスをデバッグする方法】

についてご紹介します。

Debug-Processコマンドレットを用いることで実行中の任意のプロセスに対してデバッグを行うことができます。

しかし、Debu-Processはデバッガーを呼び出すことができるだけでデバッグ自体ができるわけではないようです。。。

PowerShellで実行中のプロセスを取得する方法についてはこちら↓の記事をご参考ください。

【Get-Process】PowerShellでプロセス取得する方法は?その見方は?

スポンサーリンク

実行中のプロセスをデバッグする

プロセスのデバッグを行うコマンドレットに

Debug-Process

というものがあります。

【コマンドレット】

Debug-Process

【オプション】

パターン1(プロセス名で指定)
-Name <プロセス名>

パターン2(プロセスIDで指定)
-Id <プロセスID>

パターン3(オブジェクトで指定)
-InputObject <プロセスオブジェクト>

【入力】

System.Int32
System.String
System.Diagnostics.Process

【出力】

None

【エイリアス】

なし

プロセスとは何か」については「プロセスとは...」をご覧下さい。

デバッグやデバッガーとは?

デバッグとは、

コンピュータプログラムに潜む欠陥を探して取り除くこと

デバッグとは|debug|デバグ - 意味 / 定義 / 解説 / 説明 : IT用語辞典/© 1997-2017 Incept Inc.

であると、e-Words先生に説明があります。

プログラム・アプリケーションなどが設計者や開発者の想定していない誤作動を起こした際の原因の事をバグ(bug:むし)と言い、バグを取り除くのでデバッグと言うそうです。

よくゲームをプレイしていて

  • セーブしようとしたらフリーズした!
  • アイテム買ったのに持ってない!

なんてことがあった時に「バグってる!」と言いますよね。

またデバッグ作業を補助・効率化してくれるツールの事をデバッガーデバッグツールといいます。

PowerShellのエディタとしてインストールされているPowerShell ISEにもデバッグ機能が搭載されていてます。

ISEのブレークポイント-チェシャわら
ISEのブレークポイント-チェシャわら

写真のようにメニューからデバッグ機能を使用することができます。

デバッガーをプロセスにアタッチできません!

では、いよいよ実行です。PowerShellでデバッグとなるとどのような感じなのでしょうかね~

使い方は、

Debug-Process -Name プロセス名
Debug-Process -Id プロセスID
Debug-Process -InputObject プロセスオブジェクト

のいずれか用います。

メモ帳(notepad.exe)を起動してデバッグしてみると...

むむむ...

デバッガーをプロセスにアタッチできません。

既定のデバッガーが利用できないことが原因です。

というエラーが出ました。

つまりPowerShellデバッグするのではなく、デバッグ機能を持ったVisual Studioなどのデバッガー環境が必要なようです。

なんだかちょっと残念です.. _(Ξ皿Ξ _) ∠)_

(※デバッガーをインストールしてアタッチできるようになったらまた更新しようと思います。)

まとめ

実行中のプロセスをバッグするには

Debug-Process <対象プロセス>

を実行する。

ただしデバッガーが必要である。

スポンサーリンク

スポンサーリンク

-システム・サービス
-, , , ,

Copyright© 【チェシャわら】PowerShellとは、から学ぶ入門者の教科書-脱コマンドプロンプト- , 2017 AllRights Reserved Powered by micata2.