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