适用于PowerShell 3.0或者更高版本!
PowerShell ISE只支持行断点:它可以让脚本运行至特定的调试行:你可以按F9来添加或者移除断点。但是需要保证该脚本已经保存过(默认的无标题文件可能就不行)。
还有一种更加高级的方法:动态断点或者说是条件断点,其中没有特别限定某行,而是限定于一种特定的场景。比如下面的的示例脚本,每当PowerShell给指定的变量赋值时,就会击中断点停下来:
$bp = Set-PSBreakpoint -Variable a -Mode Write -Script $psise.CurrentFile.FullPath $a = 1 $a $a $a = 200 $a Remove-PSBreakpoint -Breakpoint $bp
你还可以绑定更加高级和复杂的条件,比如你想当一个大于100的整数赋值给$a时,击中断点:
$Condition = { if ($a -is [Int] -and $a -gt 100) { break } } $bp = Set-PSBreakpoint -Variable a -Mode Write -Script $psise.CurrentFile.FullPath -Action $Condition $a = 1 $a $a $a = 200 $a Remove-PSBreakpoint -Breakpoint $bp
荔非苔注:条件断点这个技巧比较冷门,但是一旦需要时却非常方便,比如我在某个稍微大点的脚本文件中多次给变量A赋值,可是不知某次赋了个错误的值,我想把这行代码找出来。如果没有条件断点,我可能得关键字搜索出所有变量A的赋值语句,并打上断点,工程浩大,而如果使用条件断点,阿弥陀佛!
#include <stdio.h> int main(void) { int i = 0; int sum = 0; for (i = 1; i <= 200; i++) { sum += i; } printf("%d\n", sum); return
使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(objects
使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值, 或是比较变量和常量的值。 示例 下面的例子,判断 $(CC) 变量是否 gcc ,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(o
我需要下载一个文件,每天从网站上的日期将过去。我尝试使用以下代码- 但这是一个错误- Invoke-WebRequest:基础连接已关闭:发送时发生意外错误。在行:3字符:1调用-网络请求-Uri$url-OutFile$输出 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 分类信息:无效操作:(System.网。[Invoke-WebRequest],
问题内容: 我正在尝试从python这样启动PowerShell脚本: 问题是我得到以下错误: 无法加载文件C:\ Users \ sztomi \ workspace \ myproject \ buildxml.ps1,因为在此系统上禁用了脚本的执行。请参阅“获取有关about_signing的帮助”以了解更多详细信息。 尽管事实上我很早以前确实通过键入管理员运行的PS终端来启用Powersh
本文向大家介绍mysql增量备份及断点恢复脚本实例,包括了mysql增量备份及断点恢复脚本实例的使用技巧和注意事项,需要的朋友参考一下 简介 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。 目的 解
本文向大家介绍Powershell脚本中包含文件资源的例子,包括了Powershell脚本中包含文件资源的例子的使用技巧和注意事项,需要的朋友参考一下 Powershell3.0及以后版本。 如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路
问题内容: 我正在调试一个执行很多方法调用的应用程序。 例如,我想调试methodA。它被称为1000次。 但是,在主循环中,我只想在几条 语句后开始调试方法A。 我想methodA 在 methodB被调用后才开始闯入。我 真的不想更改我的代码(例如,插入一个boolean值 并使断点以此为条件boolean)。 在Eclipse中是否可能发生这种情况?还是有更好的选择? 问题答案: A)只需将