PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本
微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境,
通过这个IDE环境,可以建立psl文件,可以调试psl文件。
1、IDE界面
我们看一下IDE环境的界面:

如图所示: IDE环境被分成了三个窗格,这个窗格的布局可以自定义。其中左上角的窗格是输出窗格,在IDE中执行的结果
通过它输出;左下角的窗口是交互窗格,也叫做命令窗格,可以在里面输入要执行的命令,同时这个窗格还会提示当前的工作路径,
上图的工作路径是:C:\users\vol_20120330,这个路径是我计算机当前用户的家目录(home directory);右边的窗格用来创建
psl文件,如图我键入了一条简单的命令:get-command,这个窗格也成为脚本窗格。
2、切换不同的窗格样式
通过视图菜单可以切换不同的窗格布局风格,还可以通过工具栏切换,具体就不切换了,可以打开PS ISE自己试试。
3、调试功能
编辑完脚本代码后可以通过运行它来查看结果,这可以通过调试菜单的命令来完成。如下图所示:

通过上图可以看出,PS ISE支持断点调试功能,这个弥补了以前脚本调试不容易的缺点,在CMD中执行脚本的
时候,需要通过特殊的方法才能获取一般的调试信息,在PS中这个功能得到了加强。
4、运行脚本
IDE环境中运行脚本主要有三种方法: 调试菜单、快捷键F5、工具栏的运行按钮,这个按钮和微软其他的IDE环境的按钮
形状一样,就是一个绿色的三角形;下图是执行上图的脚本文件的运行结果:

当然还可以在命令窗格中执行脚本,但是这样不太方便,需要提供脚本的执行路径。
5、调整字体
几个窗格中默认的字体比较小,看起来不舒服,IDE环境提供了放大缩小字体的功能,可以通过菜单和快捷键的方式来设置字体的大小
快捷键为:
Ctrl - + 增大字体
Ctrl - - 减小字体
6、调试功能
调试主要通过断点来实现,同时还会提供调试信息。
1)查看调试信息
当命令运行错误的时候,ISE会提供与PS console中一样的错误信息。如下图

如上图: 输出窗格中的红色字体就是错误信息,这个提示信息明确的指出了错误的类型和错误的位置。具体的错误信息意义很明了
这里就不加解释了。
2)插入/删除断点
ISE支持断点调试,可以插入和删除断点;如图所示。

熟悉微软其他IDE环境的人都熟悉以一个圆圈表示的断点,这里ISE做了一个较大的改进,当插入断点的时候;断点处用高亮的颜色
来表示,方便人来查看断点,不像圆圈断点,断点多了很难分辨。
3)断点调试输出
插入断点后,点击运行或者执行F5命令,就可以调试了;如图所示:

执行到断点处,脚本停止运行;同时脚本窗口断点处的颜色会进行改变,这样在很多断点的时候,就能清楚的知道运行到那个
位置了; 此时命令窗格发生了变化, 如上所示,命令窗格的标题栏出现了[dbg]:,表示目前处于调试模式,而且输出提示符变成了
“>>>”这样的形式; 同时输出窗格也会提示断点调试的位置。
4)调试
为了演示调试过程,我在脚本中加入了一句命令,同时启动调试模式,如下图:

可以看到,脚本运行到断点就停止,这时我们可以通过在命令窗格中输入命令来获取当前会话中的一些信息,或者来
获取脚本变量对象的值,如下图所示:

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

通过这个调试器,可以方便的调试自己的脚本,可以大大的加快脚本开发的效率和准确性,同时也可以加深PS运行的理解;
复杂的调试技术这里就不再说了,有兴趣的朋友可以自己试试。
今天,发现园子的博客功能进行了一项功能改进:自动保存; 感觉这个不错,可以方便一次写不完,然后再次接着写,这样
就不用有时为了写完而弄到很晚了。
PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本的更多相关文章
- PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念
PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念 据我个人所知,windows下的cmd shell除了能够通过修改系统参数来对其中的环境变量 ...
- PowerShell_零基础自学课程_6_PS中获取帮助信息详解、管道、格式化输
前些文章陆续的说了一些关于这些主题,但是讨论的都不够深入,今天我们深入的了解一下获取帮助信息.管道以及格式化输出的内容. 一.获取帮助信息 在PS中获取帮助信息,最常用的有: -? .get-comm ...
- PowerShell_零基础自学课程_1_初识PowerShell
欢迎转载本系列文章:转载请注明出处:www.cnblogs.com/volcanol 自从微软推出.Net以来,微软旗下的windows体系就发生了很大的变化,首先是操作系统的界面的变化,例如vist ...
- PowerShell_零基础自学课程_9_高级主题:静态类和类的操作
上次我们说到了,wmi对象和com组件,今天我们继续来看PS中对象的相关内容.主要说一下静态对象和对象的基本操作. 一.静态对象 在PS中有一类特殊的对象,我们不能同过这些类创建新的对象,这些类是不能 ...
- PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件
本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...
- PowerShell_零基础自学课程_2_Powershell与Cmd以及Unix/Linux Shell
上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows vista开始,计划要改变这种局面,于是就有 了Powershell的出现. 1.兼容shell命令 ...
- 月薪12k的零基础自学前端必备手册
随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上流传甚广的一张前端学习思维导图,很多初学者 ...
- 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制
大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...
- 零基础自学用Python 3开发网络爬虫
原文出处: Jecvay Notes (@Jecvay) 由于本学期好多神都选了Cisco网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照 ...
随机推荐
- 2014.7.7 模拟赛【小K的农场】
3.小K的农场(farm.pas/cpp/c) [题目描述] 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三 ...
- Android 通过外键连接两个数据库
Learn: 1.Android数据库的语法. 2.通过外键连接两个数据库. 3.加强了对数据库的熟悉度. 4.对文本框的visiblity属性的了解. Demo:http://pan.baidu.c ...
- html p标签换行问题
/*p标签自动换行*/ p{ word-wrap:break-word; word-break:normal; } /*p强制不换行*/ p{ white-space:nowrap; } /*块级元素 ...
- Django之CSRF 跨站请求伪造
一.简介 1.点我了解什么是跨站请求伪造 2.django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对 ...
- Java 下各种设计模式小结
策略模式--定义算法族,分别封装起来,让它们之间能够互相替换,此模式让算法的变化独立于使用算法的客户. 策略模式是说,针对一种计算,定义一系列的算法,由用户决定详细使用哪一个算法完毕计算. 比 ...
- openstack中glance组件images的全部python API 汇总
感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- UVA 1558 - Number Game(博弈dp)
UVA 1558 - Number Game 题目链接 题意:20之内的数字,每次能够选一个数字,然后它的倍数,还有其它已选数的倍数组合的数都不能再选,谁先不能选数谁就输了,问赢的方法 思路:利用dp ...
- JavaScript 中的事件设计
1. 事件绑定的几种方式 主要介绍一下 最常用的事件设计 其他就稍微带过. 直接在代码里面添加onclick指定函数名字. B) 在JS代码中通过dom元素的onclick等属性 这种做法this表 ...
- RMAN-configure命令
在Oracle 10g中的配置情况 使用RMAN>show all; 可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # ...
- 使用WinAPI全局热键注册和全局模拟按键
一.全局热键注册 1.先引用DLL [System.Runtime.InteropServices.DllImport("user32.dll")] //导入WinAPI publ ...