ถ้าใครเคยใช้พวก Feature อย่าง VB6 (เก่าไปหน่อย) มันมี Feature นึง ที่มันเจ๋งมากครับ ในมุมของผม "Break All Error" ถ้า Debug Code แล้ว Error อะไร มันมาชี้ไปบรรทัดที่มีข้อผิดพลาดให้ครับ กลับมาที่ฝั่งของ .Net บ้าง ตัว Visual Studio ตอนแรกจะไม่เปิดให้ทำครับ เพราะ อยากให้เขียน try - catch ให้ เรียบร้อยมากกว่าครับ แต่ถ้าต้องการใช้จริงๆ สามารถเปิดได้ครับ โดยมีวิธีการ ดังนี้
- ไปที่ เมนู Debug
- เลือกเมนู Exceptions
- ติ๊กเลือก "Common Language Runtime Exceptions" ในฝั่ง Thrown นะครับ
- กด OK ครับ
แล้ว Common Language Runtime Exceptions คือ อะไร ?
มันก็แปลตัวตามนะครับ ก็คือ Exceptions(ข้อผิดพลาด) ของตัว Common Language Runtime(CLR) ครับ โดยตัว CLR เป็นตัวจัดการไม่ว่าเราเขียนด้วยภาษา C#, VB.NET หรือ F# เป็นต้น ที่ Compile ออกมาแล้ว ได้เป็น Common Intermediate Language (CIL) ให้มันสามารถทำงานได้บนสภาพแวดล้อมต่างๆ ไม่ว่าจะเป็น Windows หรือ Linux (อันหลังเขียนได้และ 555 Microsoft ♥ Open Source แล้ว)
สำหรับวิธีนี้ ผมใช้กับ Code ที่มันเขียนไม่สวย มีการ จัดการ Exception ได้ไม่ดีครับ จะได้ไม่ต้องไปไล่ Code เพราะให้ตัว Debugger หาครับ และให้ Break ตรงจุดที่ Code นั้นมีปัญหาเลยครับ และถ้า เราสนใจ Exception ที่เฉพาะเจาะลงไป ในตัว "Common Language Runtime Exceptions" (อันอื่นผมยังไม่เคยลองนะ) เราสามารถกด "+" เพื่อดูรายละเอียดลงไปได้ครับ
ในที่นี้สำหรับผมสนใจ Exception ที่เป็นพระเอกที่เจอบ่อยๆครับ System.NullReferenceException ครับ ให้มัน Thrown หยุดไว้ ณ จุดที่บึ้มมมม
หมายเหตุ : อันนี้ผมได้ลองใช้กับ Visual Studio 2013 - Community Edition ครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.