ในการแก้ไขปัญหา MVVMCROSS อย่างมีประสิทธิภาพคุณต้องกำหนดค่าการตั้งค่าข้อยกเว้นของคุณใน Visual Studio นี่คือคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำเช่นนี้:
1. เปิดใช้งานการสนับสนุนเซิร์ฟเวอร์ต้นทาง
ก่อนที่จะดำน้ำในการตั้งค่าข้อยกเว้นตรวจสอบให้แน่ใจว่าคุณสามารถก้าวผ่านรหัส MVVMCROSS โดยใช้ GitLink สิ่งนี้ช่วยให้คุณสามารถดีบักในแหล่ง MVVMCROSS โดยไม่ต้องดาวน์โหลดด้วยตนเอง
- เปิดใช้งานการสนับสนุนเซิร์ฟเวอร์ต้นฉบับ: ไปที่ `เครื่องมือ> ตัวเลือก> การดีบัก> General 'และทำเครื่องหมายในช่องถัดจาก' เปิดใช้งานการสนับสนุนเซิร์ฟเวอร์ต้นทาง ' สิ่งนี้ช่วยให้ Visual Studio สามารถดึงซอร์สโค้ดจากที่เก็บ MVVMCROSS GitHub เมื่อทำการดีบัก [5]
2. กำหนดค่าการตั้งค่าข้อยกเว้น
ในการจับข้อยกเว้นที่อาจถูกโยนทิ้งโดย MVVMcross คุณต้องกำหนดค่า Visual Studio เพื่อทำลายข้อยกเว้นเหล่านี้
- เปิดการตั้งค่าข้อยกเว้น: ใน Visual Studio ให้ไปที่ `debug> windows> การตั้งค่าข้อยกเว้น ' สิ่งนี้จะเปิดหน้าต่างการตั้งค่าข้อยกเว้นซึ่งคุณสามารถจัดการได้ซึ่งข้อยกเว้นของดีบักเกอร์จะหยุดพัก [4]
- เปิดใช้งานการแยกข้อยกเว้น: ในหน้าต่างการตั้งค่าข้อยกเว้นขยายหมวดหมู่ข้อยกเว้นภาษารันไทม์ทั่วไป ทำเครื่องหมายที่กล่องถัดจากข้อยกเว้นใด ๆ ที่คุณต้องการให้ดีบักเกอร์ สำหรับการดีบักที่ครอบคลุมคุณอาจต้องการเปิดใช้งานข้อยกเว้นทั้งหมดภายใต้หมวดหมู่นี้ [7]
- ค้นหาข้อยกเว้นเฉพาะ: หากคุณกำลังมองหาข้อยกเว้นเฉพาะให้ใช้แถบค้นหาที่ด้านบนของหน้าต่างการตั้งค่าข้อยกเว้น สิ่งนี้จะช่วยให้คุณค้นหาและเปิดใช้งานข้อยกเว้นเฉพาะได้อย่างรวดเร็ว
- เพิ่มเงื่อนไข: หากจำเป็นคุณสามารถเพิ่มเงื่อนไขลงในข้อยกเว้น คลิกขวาที่ข้อยกเว้นและเลือกแก้ไขเงื่อนไข สิ่งนี้ช่วยให้คุณระบุภายใต้เงื่อนไขที่ (เช่นโมดูลเฉพาะ) ดีบักเกอร์ควรแตกหักในข้อยกเว้น [4]
3. การดีบักปัญหา MVVMCROSS
เมื่อกำหนดค่าการตั้งค่าข้อยกเว้นของคุณ:
- เริ่มการดีบัก: เริ่มการดีบักแอปพลิเคชันของคุณ หากข้อยกเว้นเกิดขึ้นภายใน MVVMCROSS ตอนนี้ดีบักเกอร์จะหยุดพักที่จุดที่มีการโยนข้อยกเว้นช่วยให้คุณสามารถตรวจสอบตัวแปรและก้าวผ่านรหัส [7]
- ขั้นตอนผ่านรหัส MVVMCROSS: เมื่อเปิดใช้งาน Source Server Support คุณสามารถก้าวเข้าสู่รหัส MVVMCROSS ได้โดยตรงจากแอปพลิเคชันของคุณ สิ่งนี้ช่วยในการวินิจฉัยปัญหาที่อาจซ่อนอยู่ภายในกรอบ MVVMCROSS [5]
4. การจัดการข้อยกเว้นที่ไม่ได้รับการจัดการ
หากคุณต้องการจับข้อยกเว้นที่ไม่ได้รับการจัดการทั้งหมดในแอพ Xamarin Android ของคุณโดยใช้ MVVMcross ให้พิจารณาใช้ตัวจัดการข้อยกเว้นทั่วโลก สิ่งนี้สามารถทำได้โดยการเอาชนะวิธี `onCreate` ในกิจกรรมหลักของคุณและตั้งค่าตัวจัดการข้อยกเว้นที่ไม่สามารถจัดการได้ [3]
โดยทำตามขั้นตอนเหล่านี้คุณสามารถแก้ไขปัญหา MVVMCROSS ได้อย่างมีประสิทธิภาพโดยการกำหนดค่าการตั้งค่าข้อยกเว้นและก้าวผ่านซอร์สโค้ด MVVMCROSS เมื่อจำเป็น
การอ้างอิง:[1] https://learn.microsoft.com/en-us/answers/questions/1182901/how-to-enable-the-exception-setting-option-in-debu
[2] https://stackoverflow.com/questions/21029462/debugging-mvvmcross-application-in-xamarin-studio-with-mvmcross-sources
[3] https://stackoverflow.com/questions/47306092/xamarin-mvvmcross-unhandled-exceptions
[4] https://learn.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-the-debugger?view=vs-2022
[5] https://www.mvvmcross.com/documentation/contributing/debugging-with-symbols
[6] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[7] https://nicksnettravels.builttoroam.com/post-2018-07-31-Debugging-and-contributing-to-mvvmcross-aspx/
[8] https://devblogs.microsoft.com/xamarin/demystifying-build-configurations/