Get-PSCallStack
현재 호출 스택을 표시합니다.
구문
Default (기본값)
Get-PSCallStack
Description
Get-PSCallStack cmdlet은 현재 호출 스택을 표시합니다.
Windows PowerShell 디버거와 함께 사용하도록 설계되었지만 이 cmdlet을 사용하여 디버거 외부의 스크립트 또는 함수에 호출 스택을 표시할 수 있습니다.
디버거에서 Get-PSCallStack 명령을 실행하려면 k 또는 Get-PSCallStack입력합니다.
예제
예제 1: 함수에 대한 호출 스택 가져오기
PS C:\> function My-Alias {
$p = $args[0]
Get-Alias | where {$_.Definition -like "*$p"} | Format-Table 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:\> 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*"} | Format-Table Definition,
[DBG]: PS C:\ps-test>Get-PSCallStack
Name CommandLineParameters UnboundArguments Location
---- --------------------- ---------------- --------
prompt {} {} prompt
My-Alias {} {Get-Content} prompt
prompt {} {} prompt
PS C:\> [DBG]: PS C:\ps-test> o
Definition Name
---------- ----
Get-Content gc
Get-Content cat
Get-Content type
이 명령은 Get-PSCallStack cmdlet을 사용하여, cmdlet 이름의 별칭을 가져오는 간단한 함수인 My-Alias의 호출 스택을 표시합니다.
첫 번째 명령은 Windows PowerShell 프롬프트에서 함수를 입력합니다. 두 번째 명령은 Set-PSBreakpoint cmdlet을 사용하여 My-Alias 함수에 중단점을 설정합니다. 세 번째 명령은 My-Alias 함수를 사용하여 Get-Content cmdlet에 대한 현재 세션의 모든 별칭을 가져옵니다.
디버거는 함수 호출 시 중단됩니다. 두 개의 연속 step-into(s) 명령이 함수 줄을 한 줄씩 실행하기 시작합니다. 그런 다음 Get-PSCallStack 명령을 사용하여 호출 스택을 검색합니다.
마지막 명령은 디버거를 종료하고 스크립트를 계속 실행하여 완료하는 Step-Out 명령(o)입니다.
입력
None
개체를 이 cmdlet에 파이프로 연결할 수 없습니다.
출력
CallStackFrame
이 cmdlet은 호출 스택의 항목을 나타내는 개체를 반환합니다.
참고
PowerShell에는 Get-PSCallStack에 대한 다음과 같은 별칭들이 포함되어 있습니다.
- 모든 플랫폼:
gcs