如何在Visual Studio 2013中的Powershell控制台中显示局部变量?

时间:2015-10-26 09:02:41

标签: c# visual-studio debugging powershell

如何在Visual Studio 2013中的调试过程(.NET应用程序)中显示我在Powershell控制台中调试的.NET应用程序的局部变量?

3 个答案:

答案 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

下一步,获取局部变量的值