다음을 통해 공유


Get-PSCallStack

현재 호출 스택을 표시합니다.

구문

Get-PSCallStack [<CommonParameters>]

설명

Get-PSCallStack cmdlet은 현재 호출 스택을 표시합니다.

이 cmdlet은 Windows PowerShell 디버거와 함께 사용하기 위한 것이지만, 디버거 외부의 스크립트 또는 함수에 호출 스택을 표시하는 데 사용할 수도 있습니다.

디버거 내에서 Get-PSCallStack 명령을 실행하려면 "k" 또는 "get-pscallstack"을 입력합니다.

매개 변수

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

개체를 이 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을 사용하여 cmdlet 이름의 별칭을 가져오는 간단한 함수인 My-Alias에 대한 호출 스택을 표시합니다.

첫 번째 명령은 Windows PowerShell 프롬프트에 함수를 입력합니다. 두 번째 명령은 Set-PSBreakpoint cmdlet을 사용하여 My-Alias 함수에 중단점을 설정합니다. 세 번째 명령은 My-Alias 함수를 사용하여 Get-Content cmdlet에 대해 현재 세션의 모든 별칭을 가져옵니다.

디버거는 함수 호출 시 중단됩니다. 연속하는 두 step-into 명령이 함수를 한 줄씩 실행하기 시작합니다. 그런 다음 Get-PSCallStack 명령을 사용하여 호출 스택을 검색합니다. 

마지막 명령인 Step-Out 명령은 디버거를 끝내고 스크립트를 완료할 때까지 계속 실행합니다.





참고 항목

개념

about_Debuggers
Set-PSBreakpoint
Get-PSBreakpoint
Enable-PSBreakpoint
Disable-PSBreakpoint
Remove-PSBreakpoint