Studio มีเครื่องมือและการทำงานที่เกี่ยวข้องกับการดีบักมากมายที่มักพบในสภาพแวดล้อมการพัฒนาแบบรวม (IDEs) ซึ่งช่วยให้คุณตรวจสอบและแก้ไขข้อผิดพลาดในสคริปต์ขณะทำงาน
การดีบักจุดหยุด
จุดหยุดคือจุดตรวจสอบที่หยุดหรือ "หยุด" การทำงานของสคริปต์ของคุณที่บรรทัดเฉพาะ คุณสามารถใช้ช่วงเวลาที่หยุดเพื่อตรวจสอบและดีบักประสบการณ์ของคุณ, ดู ตัวแปร และตรวจสอบ สแต็คการเรียก จุดหยุดเป็นหนึ่งในวิธีที่มีประสิทธิภาพที่สุดในการดีบักฟังก์ชัน ดังนั้นจึงเป็นหนึ่งในเครื่องมือการดีบักที่สำคัญที่สุด
การจัดการ
ใน Script Editor คุณสามารถ แทรก จุดหยุดหลายประเภทและแก้ไขการกำหนดค่าของจุดหยุดได้ทุกเมื่อ รวมถึงในระหว่างเซสชันการทดสอบ หากคุณแก้ไขจุดหยุดในระหว่างการทดสอบ การเปลี่ยนแปลงจะยังคงอยู่แม้หลังจากคุณเสร็จสิ้นแล้ว คุณยังสามารถแก้ไขจุดหยุดที่ทำการหยุดชั่วคราวในเซสชันการทดสอบของคุณอยู่ แต่การเปลี่ยนแปลงจะไม่ถูกนำไปใช้จนกว่าคุณจะเริ่มการทดสอบในเซสชันถัดไป
แทรก
จุดหยุดมีหลายประเภทและสามารถแทรกได้ที่บรรทัดของโค้ดที่สามารถทำงานได้ ดังนี้:
ในการแทรกจุดหยุดมาตรฐานที่บรรทัดของโค้ด ให้คลิกในช่องด้านขวาของหมายเลขบรรทัด หากต้องการ คุณสามารถคลิกขวาในช่องและเลือก แทรก จุดหยุด ไอคอนจุดหยุดจะแสดงเป็นวงกลมสีแดง

ปิดการใช้งาน
เพื่อปิดการใช้งานจุดหยุดชั่วคราวโดยไม่ ลบ มันออก คุณสามารถใช้วิธีการใด ๆ ต่อไปนี้:
- คลิกไอคอนจุดหยุด
- คลิกขวาที่ไอคอนจุดหยุดและเลือก ปิดการใช้งานจุดหยุด
- แก้ไข จุดหยุดและปรับเปลี่ยนช่องทำเครื่องหมาย เปิดใช้งาน ของมัน
จุดหยุดที่ถูกปิดการใช้งานจะแสดงเป็นเวอร์ชันที่ไม่เต็มของไอคอนที่เปิดใช้งาน เช่น วงกลมที่ไม่เต็มสำหรับจุดหยุดมาตรฐานที่ถูกปิดการใช้งาน หรือเพชรที่ไม่เต็มสำหรับจุดล็อกที่ถูกปิดการใช้งาน


ลบ
ในการลบจุดหยุด ให้คลิกกลางที่ไอคอนของมันหรือคลิกขวาที่ไอคอนและเลือก ลบจุดหยุด
แก้ไข
คุณสามารถแก้ไขการกำหนดค่าของจุดหยุดได้ทุกเมื่อ รวมถึงในระหว่างเซสชันการทดสอบ หากคุณแก้ไขจุดหยุดในระหว่างการทดสอบ การเปลี่ยนแปลงจะยังคงอยู่แม้หลังจากคุณเสร็จสิ้นแล้ว คุณยังสามารถแก้ไขจุดหยุดที่ทำการหยุดชั่วคราวในเซสชันการทดสอบของคุณอยู่ แต่การเปลี่ยนแปลงจะไม่ถูกนำไปใช้จนกว่าคุณจะเริ่มการทดสอบในเซสชันถัดไป
ในการแก้ไขจุดหยุด:
คลิกขวาที่ไอคอนจุดหยุดและเลือก แก้ไขจุดหยุด
ในหน้าต่าง แก้ไขจุดหยุด ให้กำหนดค่าจุดหยุดตามต้องการ คุณสามารถรวมการกำหนดค่าเหล่านี้เข้าด้วยกันเพื่อให้เหมาะสมที่สุดกับความต้องการในการดีบักของคุณ
ตัวเลือก คำอธิบาย เงื่อนไข นิพจน์ที่ไม่บังคับที่กำหนดว่าจุดหยุดจะทำงานเมื่อใด หากเงื่อนไขว่างเปล่า จุดหยุดจะทำงานเสมอ หากมีเงื่อนไขอยู่ จุดหยุดจะกลายเป็น จุดหยุดมีเงื่อนไข และทำงานเฉพาะเมื่อเงื่อนไขเป็นจริง สำหรับตัวอย่าง หากคุณต้องการให้จุดหยุดทำงานเฉพาะเมื่อตัวแปร var เท่ากับ 10 ให้ตั้งค่าเงื่อนไขเป็น var == 10. ข้อความล็อก นิพจน์ที่แสดงในหน้าต่าง Output เมื่อจุดหยุดถูกกระทบ รูปแบบของข้อความล็อกจะเหมือนกับเนื้อหาของคำสั่ง print() สำหรับตัวอย่าง ให้ตั้งค่าข้อความล็อกเป็น "The value of var:", var เพื่อแสดงผลข้อความเดียวกันกับ print("The value of var:", var). ดำเนินการต่อ กำหนดว่าจุดหยุดจะหยุดการทำงานของสคริปต์หรือไม่หากมันถูกกระทบ ตัวเลือกนี้จะถูกปิดใช้งานโดยค่าเริ่มต้นเว้นแต่จุดหยุดที่แทรกเป็น จุดล็อก. ลบจุดหยุดเมื่อถูกกระทบ หากทำเครื่องหมาย จุดหยุดจะลบตัวเองโดยอัตโนมัติหลังจากเซสชันการทดสอบแรก ซึ่งทำให้มันเป็นจุดหยุด ชั่วคราว. เรียกใช้ที่ บริบท ของจุดหยุดกำหนดว่ามันควรทำงานใน Client (สคริปต์ฝั่งลูกค้า), Server (สคริปต์ฝั่งเซิร์ฟเวอร์) หรือ Edit (กำลังดีบักสคริปต์ ปลั๊กอิน). หากคุณเลือก Custom Context หน้าต่างจะแสดงบริบทการเรียกใช้ปัจจุบัน.
การทำงาน
การทำงานที่มีลักษณะทั่วไปของการดีบักจุดหยุดมีดังนี้:
เปิดสคริปต์ที่คุณต้องการดีบักและ แทรกจุดหยุด ที่บรรทัดของโค้ดที่คุณต้องการตรวจสอบ
จากเมซซานีนของ Studio ให้ เริ่มการทดสอบ เพื่อเริ่มการดีบัก

เมื่อสคริปต์ถึงจุดหยุด เซสชันการทดสอบจะ หยุด ยกเว้นว่าจุดหยุดนั้นถูก กำหนดค่า เพื่อให้ดำเนินการต่อ ตัวชี้สีเหลืองที่อยู่เหนือจุดหยุดจะแสดงว่าบรรทัดของโค้ดใดกำลังจะถูกดำเนินการถัดไป

ขณะที่สคริปต์หยุด ให้ตรวจสอบหน้าต่าง จุดหยุด, หน้าต่าง ดู, หน้าต่าง สแต็คการเรียก, หน้าต่าง Output และ Script Editor เพื่อค้นหาข้อมูลเกี่ยวกับค่าของตัวแปรและการทำงานของฟังก์ชัน
สำหรับการดำเนินการต่อในโค้ดหลังจากถึงจุดหยุด ให้คลิกที่ ดำเนินการต่อสคริปต์ ในเมซซานีน

คุณยังสามารถดำเนินการโค้ดทีละบรรทัดด้วยปุ่มการก้าวในเมซซานีน:

การกระทำ ทางลัด คำอธิบาย ขั้นตอนลง F11 ปุ่ม ขั้นตอนลง จะย้ายดีบักเกอร์ไปยังโค้ดของฟังก์ชันที่อยู่ในบรรทัดปัจจุบัน หากไม่มีฟังก์ชันในบรรทัดปัจจุบัน ดีบักเกอร์จะย้ายไปยังบรรทัดถัดไป ขั้นตอนข้าม F10 ปุ่ม ขั้นตอนข้าม จะย้ายดีบักเกอร์ไปยังบรรทัดโค้ดถัดไป โดยไม่ ย้ายไปยังฟังก์ชัน ขั้นตอนออก ShiftF11 ปุ่ม ขั้นตอนออก จะย้ายดีบักเกอร์ออกจากฟังก์ชันปัจจุบันและไปยังบรรทัดถัดไปหลังจากการเรียกฟังก์ชัน หากบรรทัดปัจจุบันไม่อยู่ภายในฟังก์ชัน ดีบักเกอร์จะย้ายไปยังบรรทัดถัดไป เมื่อคุณเสร็จสิ้นการดีบักเซสชันปัจจุบัน ให้คลิกปุ่ม หยุด

การตรวจสอบ
Studio มีหลายหน้าต่างและเครื่องมือในการตรวจสอบค่าของตัวแปรและการทำงานของฟังก์ชันในขณะที่ทำการดีบัก ด้วยข้อมูลนี้ คุณสามารถค้นหาสาเหตุของปัญหาส่วนใหญ่ในสคริปต์ของคุณ

จุดหยุด
หน้าต่าง จุดหยุด เป็นมุมมองที่รวมกันที่แสดงจุดหยุดทั้งหมดในสคริปต์ทั้งหมด เพื่อเปิดมัน ให้คลิก จุดหยุด จากแถบเครื่องมือแท็บ สคริปต์ ของ Studio หรือไปที่เมนู หน้าต่าง ⟩ ดีบัก และเปิดใช้งาน จุดหยุด
ในหน้าต่าง คอลัมน์ สคริปต์ และ บรรทัด จะแสดงเสมอ และคุณสามารถเปิดหรือปิดคอลัมน์ การกำหนดค่า อื่น ๆ ผ่านเมนู ⋮ ที่มุมขวาบน ในคอลัมน์ สคริปต์ ให้คลิกขวาที่จุดหยุดเพื่อเปิดเมนูตัวเลือกเพื่อ แก้ไข, ปิด/เปิด, ลบ, หรือไปที่บรรทัดของจุดหยุดภายในสคริปต์

ในขณะที่อยู่ในการดีบักเซสชัน คอลัมน์ที่อยู่ทางซ้ายสุดจะแสดง (x3) ซึ่งแสดงถึงบริบทหลาย ๆ แบบ (Client, Server, Edit) สำหรับจุดหยุด โดยการขยายสาขาของจุดหยุดใด ๆ คุณสามารถคลิกที่ไอคอนถัดจากบริบทเฉพาะเพื่อ ปิด/เปิด สำหรับบริบทนั้น เช่น การปิดจุดหยุดเฉพาะในบริบท Client ในขณะที่ยังคงเปิดในบริบท Server

สแต็คการเรียก
หน้าต่าง สแต็คการเรียก ซึ่งเข้าถึงได้จากแถบเครื่องมือแท็บ สคริปต์ ของ Studio หรือเมนู หน้าต่าง ⟩ ดีบัก แสดงว่าบรรทัดใดกำลังจะถูกดำเนินการถัดไปเมื่อดีบักเกอร์ถึงจุดหยุด หากคุณเรียกฟังก์ชันจากภายในฟังก์ชันอื่น มันจะแสดงบรรทัดที่ฟังก์ชันนั้นถูกเรียกจากซึ่งช่วยให้คุณยืนยันว่าการไหลของการเรียกที่เกิดจริงตรงกับการไหลที่คาดหวังหรือไม่


ขณะที่สคริปต์หยุดที่จุดหยุด ใช้ปุ่มการก้าวในเมซซานีนเพื่อก้าวเข้า, ข้าม หรือออกจากฟังก์ชัน/บรรทัดตามที่ระบุใน การทำงาน.

ดู
หน้าต่าง ดู ซึ่งเข้าถึงได้จากแถบเครื่องมือแท็บ สคริปต์ ของ Studio หรือเมนู หน้าต่าง ⟩ ดีบัก ช่วยให้คุณสามารถดูค่าของตัวแปรและนิพจน์ในขณะที่ก้าวผ่านจุดหยุดได้อย่างมีประสิทธิภาพ
แท็บ ตัวแปร แสดงข้อมูลเกี่ยวกับตัวแปรปัจจุบันใน ขอบเขต ซึ่งสามารถกรองได้โดยคลิกที่ปุ่ม ขอบเขตทั้งหมด ในแถบด้านบนของหน้าต่าง การขยายสาขาจะแสดงสมาชิกของตัวแปรหรืออินสแตนซ์นั้นและค่าของพวกเขา คุณสามารถดูตัวแปรใด ๆ โดยการคลิกสองครั้งเพื่อทำให้มันโดดเด่นใน Script Editor, คลิกขวา และเลือก เพิ่ม การดู จากเมนูป๊อปอัพ


Script Editor
ดีบักเกอร์จะรวมกับ Script Editor เมื่อประสบการณ์ของคุณหยุดที่จุดหยุดในสคริปต์ คุณสามารถวางเมาส์ไปที่ชื่อของตัวแปรเพื่อดูค่าของมัน ตัวอย่างเช่น คุณสามารถดูองค์ประกอบของตารางและคีย์/ค่าที่บรรจุอยู่

เครื่องมือการดีบักเพิ่มเติม
นอกเหนือจากดีบักเกอร์แล้ว Studio ยังมีเครื่องมือการดีบักเพิ่มเติมให้คุณเพื่อแก้ไขปัญหาและบักในการทำงานของคุณ
แถบคำสั่ง
แถบคำสั่ง ช่วยให้คุณสามารถรันคำสั่ง Luau ขณะที่ประสบการณ์กำลังทำงาน มันสามารถเข้าถึงได้จากเมนู หน้าต่าง ⟩ สคริปต์ และใน Developer Console
Developer Console
Developer Console ให้รายละเอียดมากมายรวมถึงเอาต์พุตของลูกค้าและเซิร์ฟเวอร์, การใช้หน่วยความจำ, ประสิทธิภาพด้านเครือข่าย, และอื่น ๆ เพื่อเปิดคอนโซลในขณะที่ทดสอบหรือเล่นประสบการณ์ ให้พิมพ์ /console ลงในแชทหรือกด F9.
ไฟล์ล็อก
เมื่อสคริปต์พิมพ์หรือเกิดข้อผิดพลาดใน Studio หรือในแอปพลิเคชันผู้เล่น แอปพลิเคชันจะบันทึกข้อความนั้นในไฟล์ล็อกในระบบไฟล์ท้องถิ่น ไฟล์เหล่านี้ตั้งอยู่ในสถานที่ต่างกัน ขึ้นอยู่กับระบบปฏิบัติการ
Windows
ในการเข้าถึงไฟล์ล็อกบน Windows:
- เปิด File Explorer.
- ไปยังไดเรกทอรี %LOCALAPPDATA%\Roblox\logs.
- ดับเบิลคลิกไฟล์ล็อกเพื่อเปิดมัน ไฟล์ล็อกที่มีค่า XXXXX เดียวกันมาจากเซสชัน Studio เดียวกัน
Mac
ในการเข้าถึงไฟล์ล็อกบน Mac:
- เปิด Finder.
- ในแถบเมนู ให้เลือก ไป ⟩ ไปที่โฟลเดอร์....
- ในกล่องโต้ตอบ ให้ใส่ ~/Library/Logs/Roblox.
- ดับเบิลคลิกผลลัพธ์เพื่อไปยังไดเรกทอรีล็อกของ Roblox.
- ภายในไดเรกทอรี ดับเบิลคลิกไฟล์ล็อกเพื่อเปิดมัน.
iOS
คุณสามารถรวบรวมล็อก iOS โดยใช้ Mac หรืออุปกรณ์ iOS
ในการเข้าถึงไฟล์ล็อก iOS บน Mac:
- เชื่อมต่ออุปกรณ์ iOS เข้ากับ Mac.
- เปิด Finder.
- ไปที่ Utilities และเปิดแอปพลิเคชัน Console.
- เพื่อดูล็อกแบบเรียลไทม์ในแอปพลิเคชัน Console ให้เลือกอุปกรณ์ iOS จากแถบด้านข้าง คลิกที่ปุ่ม เริ่มต้น และทำให้เกิดปัญหาบนอุปกรณ์ iOS.
- เพื่อดูล็อกที่เก็บถาวรในแอปพลิเคชัน Console ให้รัน sudo log collect --device-name "[ชื่ออุปกรณ์ iOS]" ใน Terminal. ต้องแน่ใจว่าไม่มีอัญประกาศในชื่อของอุปกรณ์หรือคุณอาจได้รับข้อผิดพลาดเมื่อรันคำสั่ง.
Android
ในการเข้าถึงไฟล์ล็อกบน Android:
- ไปที่ การตั้งค่า ⟩ ระบบ ⟩ ตัวเลือกนักพัฒนา.
- เปิดใช้ ตัวเลือกนักพัฒนา.
- บนคอมพิวเตอร์ ดาวน์โหลดและติดตั้ง Android Studio.
- ใน Android Studio ให้คลิก Logcat.
- เชื่อมต่ออุปกรณ์ Android กับคอมพิวเตอร์เพื่อทำให้ล็อกเต็มใน Logcat โดยอัตโนมัติ.