首页 > 系统相关 >PowerShell脚本调试

PowerShell脚本调试

时间:2023-10-30 12:31:55浏览次数:35  
标签:脚本 变量 按钮 断点 PowerShell 调试

官方的IDE Windows PowerShell ISE是支持调试的。但从PowerShell6.0开始,微软改变了战略计划,PowerShell支持跨平台更名为Powershell Core了。而且安装包中不再带ISE了。我们编写脚本的时候和写程序一样可能会发生问题,如果只使用Write-Host输出信息来调试也太Low了。所以支持脚本调试的IDE就很关键了。

之前一直介绍IDea的PowerShellPlus工具,理论上它也是支持调试的。但用了半天也没加上断点。估计还是用得不太熟练。好在现在的工具足够多,我也安装了好几个IDE。这里给大家推荐一个不错的PowerShell脚本高度工具PowerGUI。

以我上次写的那个批量去文件名中括号的PowerShell脚本为例子。启动PowerGui,打开脚本后。UI界面如下:

PowerShell脚本调试_工具栏

在代码编辑区行号前面双击鼠标左键就会创建一个断点(如图我在21行创建了一个断点)。当我们打开脚本的时候,UI右侧的变量区域已经列出了一些常用变量,比如脚本参数的默认值DirPath也显示在右侧了。

然后我们按键盘的F5键或者点击工具栏上的绿色右三角形按钮,脚本开始运行,并且停止在我们设置断点的位置(脚本第21行)

PowerShell脚本调试_工具栏_02

并且右面的变量区域又多了几个系统变量。但这时由于未对变更i赋值。所以右侧没有变量i。

我们键盘按F10(跳出)或者F11(逐语句)或者点击工具栏上对应的按钮(四方形蓝色停止按钮右边的三个按钮分析对应键盘F11,F10和Shift+F11按键),这时运行到下一行,变量i赋值为1。如下图

PowerShell脚本调试_PowerShell_03

是不是和使用Eclipse调试Java代码,使用Visualt Studio调试C#一样简单,这样方便发现脚本的错误并及时修正再调试。

标签:脚本,变量,按钮,断点,PowerShell,调试
From: https://blog.51cto.com/u_3353175/8087556

相关文章

  • Net 高级调试之三:类型元数据介绍(同步块表、类型句柄、方法描述符等)
    一、简介今天是《Net高级调试》的第三篇文章,压力还是不小的。上一篇文章,我们浅浅的谈了谈CLR和Windows加载器是如何加载Net程序集的,如何找到程序的入口点的,有了前面的基础,我们今天看一点更详细的东西。既然Windows操作系统已经加载了CLR,初始化了应用程序域,加载......
  • 断点调试
    断点调试一等公民:只要把一个东西赋值给一个变量,这个东西就叫一等公民断点应该加在报错之前deftest3():print("33333")deftest():deftest2():test3()print('i')returntest2print("xxxx")print("第一句话")test()()#这个函数内部出......
  • powershell-后台启动任务
    win11中vbs的文件关联被去掉了,vbs文件不能双击执行,开机启动一个不显示窗口的任务无法完成;解决办法:控制页面-》系统和安全-》计划任务--》执行命令比如我们需要开机自启动wsl中的某个服务:Setws=WScript.CreateObject("WScript.Shell")ws.run"wsl-uroot/etc/init......
  • stm32 uboot调试1--Apple的学习笔记
    一,前言openocd+stlink的vscode远程gdb调试环境搭建完成了,那么用吧,串口也不连接了。用自带的configs/stm32f429-discovery_defconfig进行的编译,然后就直接调试了。二,问题记录问题1:board_init_f进入fdt初始化就进入hang。答:因为fdt是分离的但是我并没有下载到某个地址,于是先配置为嵌......
  • 使用telnet来调试游戏
    telnet是什么Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统......
  • Net 高级调试之一:开始认识一些调试工具
    一、简介从今天开始一个长系列,Net高级调试的相关文章,我自从学习了之后,以前很多模糊的地方现在很清楚了,原来自己的功力还是不够,所以有很多不明白,通过学习Net高级调试,眼前豁然开朗,茅塞顿开。其实,刚开始要学习《Net高级调试》,还是很是很困难的,很多工具不会用,又不知道如......
  • finalshell在sbt安装目录中使用下面命令创建一个Shell脚本文件,用于启动sbt:
    finalshell在sbt安装目录中使用下面命令创建一个Shell脚本文件,用于启动sbt:vim/usr/local/sbt/sbtlanguage-bash该脚本文件中的代码如下:#!/bin/bashSBT_OPTS="-Xms512M-Xmx1536M-Xss1M-XX:+CMSClassUnloadingEnabled-XX:MaxPermSize=256M"java$SBT_OPTS-jardirname$......
  • Windows 10中,可以使用以下PowerShell脚本来禁用Internet Explorer的Javascript错误提
    Windows10中,可以使用以下PowerShell脚本来禁用InternetExplorer的Javascript错误提示禁用脚本调试器Set-ItemProperty-Path"HKCU:\Software\Microsoft\InternetExplorer\Main"-Name"DisableScriptDebugger"-Value"yes"禁用每个脚本错误的通知Set-ItemProperty......
  • windows的powershell中apt命令的替换命令
    WindowsPackageManager(winget):winget是微软推出的包管理工具,可以在Windows10及更高版本上使用。你可以使用winget来搜索、安装、更新和卸载应用程序。例如,要安装一个应用程序,你可以运行:wingetinstall应用程序名称实测:所以,如果你在Windows上需要安装、更新或卸载软件......
  • ld链接脚本语法简介
    链接脚本由一系列语句组成,语句分两种,一种是命令语句,另外一种是赋值语句。链接脚本语法像C语言,主要有如下几点相似之处。语句之间使用分号";"作为分割符。原则上讲语句之间都要以";"作为分割符,但是对于命令语句来说也可以使用换行来结束该语句,对于赋值详吾句来说必须以";"......