2015-04-17 19 views
1

爲了進行調試,我想知道是否有方法可以在執行腳本的控制檯中訪問「腳本」範圍中的變量。將腳本範圍中的變量分解爲可在控制檯會話中訪問的腳本

這樣我就可以運行我在控制檯中測試的腳本,並在腳本運行後訪問$ Some_Var_Defined_In_The_Script。

這可能嗎?我只想要它用於調試目的,所以我正在尋找一個可以打開和關閉的開關。

+1

當我做類似調試的事情時,我通常會在PS ISE中運行我的代碼,並將它放在一個斷點上,我希望它停止使用F9。點擊Play後,它停在那裏,直到該點的變量在控制檯中可用。 – DarkLite1

+0

是的,這是ISE的優勢。儘管我真的很喜歡vim。我想知道是否有一種方法來使用斷點sans ISE。 – red888

+1

我明白了..我認爲你需要考慮手動在腳本中放置斷點,然後它會停在那裏。如[描述](https://technet.microsoft.com/en-us/library/hh849917.aspx) – DarkLite1

回答

5

如果你想要的東西,可以通過開關參數來控制,你可以使用嵌套提示:

$test = { 
param ([switch]$debug = $false) 

    $x = Get-Process 
    if ($debug) {$host.EnterNestedPrompt()} 
} 

&test -debug 

這將下降到嵌套提示,所有的變量將可用來檢查。輸入'Exit'從嵌套提示中返回。

+0

好的伎倆來強制休息。 –

0

您可以像這樣從shell運行腳本:

。 。\ myscript.ps1

變量在完成後應該可用。

相關問題