我是在 Windows Server 2008r2 上运行 64 位 Powershell ISE。
在调试过程中,我设置了一个变量,例如:
$dbName = "db1"
我接下来做以下更改。
$dbName = "db2"
我再次逐步执行脚本,尽管调试器跳过了修改后的行,但当我悬停在 $dbName 变量上时,它仍然显示值为 "db1"。我似乎唯一可以解决这个问题的方法是重新启动 ISE - 这很麻烦!
请问有人能告诉我我错在哪里吗?
* 更新 *
我在一个模块中有以下函数:
Function SampleFunction()
{
$dbName = "db1"
write-host $dbName
}
我有一个导入模块L的powershell脚本。
Import-Module -Name ".\BadPsm.psm1"
我在PowerShell ISE中,在执行窗口中输入“SampleFunction”之前,在 $dbName = "db1" 上设置断点。一切都很好,值“db1”被写入输出窗口。
然后我更改了函数,使 $dbName = "db2"。我重新通过执行 Import-Module -Name ".\BadPsm.psm1" 导入模块。
当我再次执行该函数时,我遇到断点,跳过并可以看到 $dbName 仍然等于“db1”,“db1”也被写入输出窗口。
为了帮助说明,我在YouTube上发布了一个短片段,这里是链接: youtube link