PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

时间:2023-03-08 15:34:01

微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境,

通过这个IDE环境,可以建立psl文件,可以调试psl文件。

1、IDE界面

  我们看一下IDE环境的界面:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

如图所示: IDE环境被分成了三个窗格,这个窗格的布局可以自定义。其中左上角的窗格是输出窗格,在IDE中执行的结果

通过它输出;左下角的窗口是交互窗格,也叫做命令窗格,可以在里面输入要执行的命令,同时这个窗格还会提示当前的工作路径,

上图的工作路径是:C:\users\vol_20120330,这个路径是我计算机当前用户的家目录(home directory);右边的窗格用来创建

psl文件,如图我键入了一条简单的命令:get-command,这个窗格也成为脚本窗格。

2、切换不同的窗格样式

通过视图菜单可以切换不同的窗格布局风格,还可以通过工具栏切换,具体就不切换了,可以打开PS ISE自己试试。

3、调试功能

  编辑完脚本代码后可以通过运行它来查看结果,这可以通过调试菜单的命令来完成。如下图所示:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  通过上图可以看出,PS ISE支持断点调试功能,这个弥补了以前脚本调试不容易的缺点,在CMD中执行脚本的

时候,需要通过特殊的方法才能获取一般的调试信息,在PS中这个功能得到了加强。

4、运行脚本

  IDE环境中运行脚本主要有三种方法: 调试菜单、快捷键F5、工具栏的运行按钮,这个按钮和微软其他的IDE环境的按钮

形状一样,就是一个绿色的三角形;下图是执行上图的脚本文件的运行结果:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  当然还可以在命令窗格中执行脚本,但是这样不太方便,需要提供脚本的执行路径。

5、调整字体

  几个窗格中默认的字体比较小,看起来不舒服,IDE环境提供了放大缩小字体的功能,可以通过菜单和快捷键的方式来设置字体的大小

快捷键为:

Ctrl -  +  增大字体

    Ctrl -  -   减小字体

6、调试功能

  调试主要通过断点来实现,同时还会提供调试信息。

1)查看调试信息

  当命令运行错误的时候,ISE会提供与PS console中一样的错误信息。如下图

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  如上图: 输出窗格中的红色字体就是错误信息,这个提示信息明确的指出了错误的类型和错误的位置。具体的错误信息意义很明了

这里就不加解释了。

  2)插入/删除断点

  ISE支持断点调试,可以插入和删除断点;如图所示。

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  熟悉微软其他IDE环境的人都熟悉以一个圆圈表示的断点,这里ISE做了一个较大的改进,当插入断点的时候;断点处用高亮的颜色

来表示,方便人来查看断点,不像圆圈断点,断点多了很难分辨。

  3)断点调试输出

  插入断点后,点击运行或者执行F5命令,就可以调试了;如图所示:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  执行到断点处,脚本停止运行;同时脚本窗口断点处的颜色会进行改变,这样在很多断点的时候,就能清楚的知道运行到那个

位置了; 此时命令窗格发生了变化, 如上所示,命令窗格的标题栏出现了[dbg]:,表示目前处于调试模式,而且输出提示符变成了

“>>>”这样的形式; 同时输出窗格也会提示断点调试的位置。

  4)调试

  为了演示调试过程,我在脚本中加入了一句命令,同时启动调试模式,如下图:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  可以看到,脚本运行到断点就停止,这时我们可以通过在命令窗格中输入命令来获取当前会话中的一些信息,或者来

获取脚本变量对象的值,如下图所示:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  输入上面的命令,然后回车就会得到如下的输出:

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本

  

  

  通过这个调试器,可以方便的调试自己的脚本,可以大大的加快脚本开发的效率和准确性,同时也可以加深PS运行的理解;

复杂的调试技术这里就不再说了,有兴趣的朋友可以自己试试。

  今天,发现园子的博客功能进行了一项功能改进:自动保存; 感觉这个不错,可以方便一次写不完,然后再次接着写,这样

就不用有时为了写完而弄到很晚了。