如何在Visual Studio 2013中的调试过程(.NET应用程序)中显示我在Powershell控制台中调试的.NET应用程序的局部变量?
答案 0 :(得分:1)
如果您使用的是VS 2013而不是Powershell ISE,则另一种选择是PowerShell Tools,它在Visual Studio中集成了PS命令,控制台和单元测试。
答案 1 :(得分:0)
如果您在powershell命令提示符下进行调试,请使用如下所示:
控制台:
PS C:\Users\******\Desktop> Set-PSBreakpoint -script ".\1.ps1" -line 4 #setting breakpoint
ID Script Line Command Variable Action
-- ------ ---- ------- -------- ------
0 1.ps1 4
PS C:\Users\******\Desktop> .\1.ps1
Step 1 done
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\Users\******\Desktop\1.ps1:4'
At C:\Users\******\Desktop\1.ps1:4 char:1
+ $c = "3"
+ ~~~~~~~~
[DBG]: PS C:\Users\******\Desktop>> $a #printing local variable value
2
[DBG]: PS C:\Users\******\Desktop>>
文件" 1.ps1"如下:
$a = "2"
$b = "3"
Write-Host "Step 1 done"
$c = "3" #putting breakpoint here
$d = "4"
Write-Host "Step 2 done"
$e = "5"
$f = "6"
Write-Host "Step 3 done"
如果您正在使用powershell ise,您只需要在控制台中编写变量名称($ a),它将打印该值。
答案 2 :(得分:0)
在“程序包管理器控制台”执行命令:
$dte.Debugger.CurrentStackFrame.Locals
该命令显示局部变量列表(包括名称):
Name : this
Type : csharp_tips.PowerShellInDebuggerSamples
DataMembers : System.__ComObject
Value : {csharp_tips.PowerShellInDebuggerSamples}
IsValidValue : True
DTE : System.__ComObject
Parent : System.__ComObject
Collection : System.__ComObject
Name : doubleArray
Type : double[]
DataMembers : System.__ComObject
Value : {double[3]}
IsValidValue : True
DTE : System.__ComObject
Parent : System.__ComObject
Collection : System.__ComObject
下一步,获取局部变量的值