显示当前调用堆栈。
语法
Get-PSCallStack [<CommonParameters>]
说明
Get-PSCallStack cmdlet 显示当前调用堆栈。
虽然它设计用来与 Windows PowerShell 调试程序配合使用,但是您可以使用此 cmdlet 来显示该调试程序之外的脚本或函数中的调用堆栈。
若要在该调试程序中运行 Get-PSCallStack 命令,请键入“k”或“get-pscallstack”。
参数
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
None 不能通过管道将对象传递给此 cmdlet。 |
输出 |
System.Management.Automation.CallStackFrame Get-PSCallStack 返回一个表示调用堆栈中的项的对象。 |
示例 1
C:\PS>function my-alias { $p = $args[0] get-alias | where {$_.definition -like "*$p"} | ft definition, name -auto } PS C:\ps-test> set-psbreakpoint -command my-alias Command : my-alias Action : Enabled : True HitCount : 0 Id : 0 Script : prompt PS C:\ps-test> my-alias get-content Entering debug mode. Use h or ? for help. Hit Command breakpoint on 'prompt:my-alias' my-alias get-content [DBG]: PS C:\ps-test> s $p = $args[0] DEBUG: Stepped to ': $p = $args[0] ' [DBG]: PS C:\ps-test> s get-alias | Where {$_.Definition -like "*$p*"} | ft Definition, [DBG]: PS C:\ps-test>get-pscallstack Name CommandLineParameters UnboundArguments Location ---- --------------------- ---------------- -------- prompt {} {} prompt my-alias {} {get-content} prompt prompt {} {} prompt [DBG]: PS C:\ps-test> o Definition Name ---------- ---- Get-Content gc Get-Content cat Get-Content type 说明 ----------- 此命令使用 Get-PSCallStack cmdlet 显示 My-Alias(获取 cmdlet 名称的别名的简单函数)的调用堆栈。 第一个命令在 Windows PowerShell 提示符处输入该函数。第二个命令使用 Set-PSBreakpoint cmdlet 在 My-Alias 函数上设置断点。第三个命令使用 My-Alias 函数获取当前会话中 Get-Content cmdlet 的所有别名。 调试程序在该函数调用时开始工作。两个连续 step-into 命令开始一行接一行执行该函数。然后,使用 Get-PSCallStack 命令检索调用堆栈。 最后一个命令是 Step-Out 命令 (o),它退出调试程序并继续执行脚本直到完成。
另请参阅