PowerShell:
การใช้งานโปรแกรมดีบักเกอร์

วิธีการ:

ใน PowerShell, คุณสามารถดีบักสคริปต์โดยใช้ PowerShell Integrated Scripting Environment (ISE) ที่มาพร้อมกับระบบ หรือ Visual Studio Code (VS Code) พร้อมกับส่วนขยาย PowerShell นี่คือวิธีการใช้จุดหยุดในทั้งสองระบบ:

PowerShell ISE:

# ตั้งจุดหยุดที่บรรทัดที่กำหนด
Set-PSBreakpoint -Script .\MyScript.ps1 -Line 5

# รันสคริปต์ตามปกติ
.\MyScript.ps1

# เมื่อสคริปต์ถึงจุดหยุด, คุณสามารถตรวจสอบตัวแปร
$myVariable

# ดำเนินการต่อ
Continue

Visual Studio Code:

# เปิดสคริปต์ PowerShell ใน VS Code
# คลิกที่ซ้ายของหมายเลขบรรทัดเพื่อตั้งจุดหยุด
# เริ่มการดีบักโดยกด F5 หรือคลิก 'Start Debugging'

# VS Code จะหยุดการดำเนินการที่จุดหยุดของคุณ
# ใช้แผงดีบักเพื่อดูตัวแปร, ตรวจสอบ call stack, และควบคุมการไหลของการดำเนินการ

การดีบักในทั้งสองสภาพแวดล้อมช่วยให้คุณสามารถข้ามเข้าไป (F11), ข้ามออก (Shift+F11) ขณะดีบัก

การเจาะลึก

ในอดีต, การดีบักใน PowerShell มักจะดูงอกง่อย; มันจำเป็นต้องมีบรรทัด Write-Host มากมายเพื่อแสดงผลสถานะตัวแปรหรือใช้วิธีลองผิดลองถูกแบบคลาสสิก ด้วยการมาถึงของ PowerShell ISE, และเมื่อเร็วๆ นี้, VS Code พร้อมกับคุณสมบัติดีบักที่มีประสิทธิภาพ, การดีบักของ PowerShell กลายเป็นเรื่องที่เกือบเท่ากับภาษาโปรแกรมมิ่งอื่นๆ

ทางเลือกสำหรับเครื่องมือดีบักของ PowerShell ประกอบด้วยเครื่องมือของบริษัทอื่นๆ เช่น PowerGUI หรือการใช้งาน IDE ที่มีความเข้มแข็งเช่น Visual Studio พร้อมกับปลั๊กอิน PowerShell

เมื่อใช้งานตัวแก้จุดบกพร่อง, ควรพิจารณาขอบเขตของสคริปต์, โดยเฉพาะอย่างยิ่งเมื่อทำงานกับสคริปต์หรือโมดูลที่มาจากการเชื่อมโยงแบบจุดท (dot-sourced) จุดหยุดสามารถตั้งได้ตามเงื่อนไข, เปลี่ยนแปลงตามตัวแปร, หรือตามบรรทัด, ทำให้สามารถควบคุมได้อย่างแม่นยำในระหว่างการดีบัก

นอกจากนี้, ด้วยการเปลี่ยนไปใช้ PowerShell Core (cross-platform PowerShell), การดีบักส่วนใหญ่ได้ย้ายไปอยู่ในมือของ VS Code, ซึ่งให้ประสบการณ์ที่สอดคล้องกันบนแพลตฟอร์มต่างๆ

ดูเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดีบักใน PowerShell: