Visualizza lo stack di chiamate corrente.

Sintassi

Get-PSCallStack [<CommonParameters>]

Descrizione

Il cmdlet Get-PSCallStack visualizza lo stack di chiamate corrente.

Sebbene sia progettato per essere utilizzato con il debugger di Windows PowerShell, è possibile utilizzare questo cmdlet per visualizzare lo stack di chiamate in uno script o una funzione all'esterno del debugger.

Per eseguire un comando Get-PSCallStack dal debugger, digitare "k" o "get-pscallstack".

Parametri

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Non è possibile reindirizzare oggetti a questo cmdlet.

Output

System.Management.Automation.CallStackFrame

Get-PSCallStack restituisce un oggetto che rappresenta gli elementi nello stack di chiamate.

Esempio 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

Descrizione
-----------
In questo comando viene utilizzato il cmdlet Get-PSCallStack per visualizzare lo stack di chiamate per My-Alias, una funzione semplice che consente di ottenere gli alias per un nome di cmdlet.

Il primo comando immette la funzione al prompt di Windows PowerShell. Nel secondo comando viene utilizzato il cmdlet Set-PSBreakpoint per impostare un punto di interruzione sulla funzione My-Alias. Nel terzo comando viene utilizzata la funzione My-Alias per ottenere tutti gli alias nella sessione corrente per il cmdlet Get-Content.

Il debugger si attiva al momento della chiamata di funzione. Tramite due comandi consecutivi di esecuzione (s) viene avviata l'esecuzione della funzione riga per riga. Viene quindi utilizzato un comando Get-PSCallStack per recuperare lo stack di chiamate. 

Il comando finale è un comando Step-Out (o) che consente di uscire dal debugger e di continuare l'esecuzione dello script fino al completamento.






Vedere anche




Argomenti della Guida