Get-PSCallStack
현재 호출 스택을 표시합니다.
구문
Get-PSCallStack []
Description
cmdlet은 Get-PSCallStack
현재 호출 스택을 표시합니다.
Windows PowerShell 디버거와 함께 사용하도록 설계되었지만 이 cmdlet을 사용하여 디버거 외부의 스크립트 또는 함수에 호출 스택을 표시할 수 있습니다.
디버거에서 명령을 실행하려면 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
이 명령은 cmdlet을 Get-PSCallStack
사용하여 cmdlet 이름의 별칭을 My-Alias
가져오는 간단한 함수인 호출 스택을 표시합니다.
첫 번째 명령은 Windows PowerShell 프롬프트에 함수를 입력합니다. 두 번째 명령은 cmdlet을 Set-PSBreakpoint
사용하여 함수에 My-Alias
중단점을 설정합니다. 세 번째 명령은 이 함수를 My-Alias
사용하여 cmdlet에 대한 현재 세션의 모든 별칭을 Get-Content
가져옵니다.
디버거는 함수 호출 시 중단됩니다. 두 개의 연속 step-into
(s
) 명령이 함수 줄을 따라 실행하기 시작합니다. Get-PSCallStack
그런 다음, 호출 스택을 검색하는 데 명령이 사용됩니다.
마지막 명령은 디버거를 Step-Out
종료하고 완료될 때 스크립트를 계속 실행하는 명령(o
)입니다.
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
이 cmdlet은 호출 스택의 항목을 나타내는 개체를 반환합니다.
참고
Windows PowerShell에는 다음 별칭이 포함됩니다.Get-PSCallStack
gcs
관련 링크
PowerShell