我對Powershell相當陌生,並且編寫了一些非常大的腳本,即調用其他函數嵌套函數的其他腳本的腳本。當我啓動這個腳本時,我有時會得到一些我不知道它們來自哪裏的錯誤。有沒有簡單的方法來查看腳本終止的位置,以便我可以排除錯誤?如何跟蹤腳本流程
Q
如何跟蹤腳本流程
7
A
回答
12
您可以使用Set-PsDebug
獲得PowerShell來輸出幾乎每行運行:
Set-PSDebug -Trace 1;
唯一的缺點是,你可能有很多輸出涉水通過的最終...
0
通常,錯誤包括調用腳本。
如果您無法嘗試在調試模式下運行Window PowerShell ISE的腳本,這允許您使用斷點並逐步執行代碼。
Artile上使用ISE進行調試:
問候 Arcass
4
要進行調試,看看你的錯誤的來了,從我建議與ISE或PowerGUI的調試。
您還可以使用Start-Transcript
cmdlet獲取腳本的腳本,它會將所有控制檯活動寫入文件。所以你可以把陳述,如Write-Host "Doing XYZ"
那些將出現在成績單日誌。
如果趕上異常與嘗試catch或使用陷阱,你可以寫的行數和例外的列是這樣的:
$ErrorActionPreference = 'Stop'
trap {
Write-Host "Error on line $($_.InvocationInfo.ScriptLineNumber)"
exit 1
}
try {
Get-Item DoesntExist
} catch {
Write-Host ("Error occurred on line: " + $_.InvocationInfo.ScriptLineNumber)
}
$_.InvocationInfo
具有其他詳細資料是錯誤的來源。
通過設置$ErrorActionPreference = "Stop"
可以確保任何錯誤觸發trap{}
塊,在這種情況下寫出劇本得並退出就行了。
+0
添加更多關於錯誤處理的'trap {}',因爲這樣可以對任何錯誤進行一般性的故障排除,而無需在過多的語句中放置try {} catch {}。 – 2016-04-08 22:09:56
相關問題
- 1. Facebook跟蹤和Google跟蹤腳本
- 2. 如何讓腳本容易跟蹤?
- 3. 如何從洪流跟蹤
- 4. 跟蹤訂單流程
- 5. 跟蹤javascript函數流程
- 6. PHP跟蹤用戶流程
- 7. TFS構建腳本跟蹤
- 8. 執行跟蹤腳本
- 9. actionscript 3如何跟蹤時間流逝?
- 10. 協作腳本 - 跟蹤用戶貢獻
- 11. 跟蹤移動的外殼腳本
- 12. Adobe illustrator在js腳本中跟蹤
- 13. Javascript鏈接跟蹤腳本+ Safari
- 14. xDebug:在PHP腳本中輸出跟蹤?
- 15. 簡單的JavaScript跟蹤腳本
- 16. 如何在WebMatrix中調試和/或跟蹤執行流程?
- 17. 如何跟蹤Netbeans中的執行流程?
- 18. IPv6和流量跟蹤
- 19. 如何最好地添加跟蹤腳本到您的網站
- 20. 如何跟蹤腳本運行的次數?
- 21. 如何跟蹤頁面更改(Chrome上下文腳本插件)?
- 22. 如何跟蹤異步腳本(不提供回調)?
- 23. 從腳本中跟蹤存儲過程存儲的數據庫
- 24. 如何跟蹤JSP
- 25. 如何跟蹤PHP
- 26. 如何描述本地函數(跟蹤)?
- 27. 如何跟蹤基本的LUA錯誤?
- 28. 如何跟蹤過程執行時間?
- 29. 如何手動跟蹤C++程序?
- 30. 如何在Android中跟蹤C線程?
這正是我所期待的。但是,我發現在確定如何正確調試方面有很大的優勢,因此我會在稍後進行調查。 – 2012-03-02 21:35:03