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网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照 ...
随机推荐
- 在WPF中使用AForge.net控制摄像头拍照
原文:在WPF中使用AForge.net控制摄像头拍照 利用AForge.net控制摄像头拍照最方便的方法就是利用PictureBox显示摄像头画面,但在WPF中不能直接使用PictureBox.必须 ...
- js深入研究之克隆,属性,数组,对象,函数
代码 <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function ...
- (转载)tarjan求割点
割点是无向图中去掉后能把图割开的点.dfs时用dfn(u)记录u的访问时间,用low(u)数组记录u和u的子孙能追溯到的最早的节点(dfn值最小).由于无向图的dfs只有回边和树边,且以第一次dfs时 ...
- 华为手机root 删除一般不用软件 的命令
上个B518海外版的一键root精简 精简了以下这些,不想删除的自己可以在刷机脚本中删除对应行就行了,音量解锁,GPS,搜索键关屏,root,添加钛备份4.0,re管理器,其他框架未改动,稳定性不会变 ...
- 【hihoCoder第十七周】最近公共祖先·三
之前就写的是离线算法.思路就是先序一遍树,记录层数,然后高效RMQ就好.ST和线段树都能过. 以后有时间将之前的在线算法补上. #include <bits/stdc++.h> using ...
- sphinx全文检索之PHP使用教程
以上一篇的email数据表为例: 数据结构: 01.CREATE TABLE email ( 02.emailid mediumint(8) unsigned NOT NULL auto_increm ...
- iOS7状态栏字体颜色修改
iOS7中,默认的状态栏字体颜色是黑色的,如何修改为其它颜色呢? 1.在项目的*info.plist中增加 View controller-based status bar appearance 属性 ...
- 56个PHP开发常用代码
2016/02/14 6203 4 在编写代码的时候有个神奇的工具总是好的!下面这里收集了 50+ PHP 代码片段,可以帮助你开发 PHP 项目. 这些 PHP 片段对于 PHP 初学者也非常 ...
- MVC 校验
校验保障了MVC 应用程序安全性. Models 文件夹包含表示应用程序模型的类 1,创建一个项目MvcValidateDemo. 2,创建一个实体类UserInfo在Models中,包含Id.Use ...
- 不可视对象的自己主动实例化BUG
PB有个隐藏BUG会占用内存.影响效率. 先来做个样例吧 (1)创建一个不可视对象n_base,勾选Autolnstantiate属性 初始化事件constructor里面写messagebox('c ...