Studio เสนอเครื่องมือการดีบั๊กจำนวนมากที่พบในสภาพแวดล้อมการพัฒนาที่ผสานกัน (IDE) เหล่านี้ช่วยให้คุณแก้ไขข้อผิดพลาดและตรวจสอบสตรีคต่อสตรีคโดยเฉ
กระบวนการทั่วไป
หากคุณสังเกตเห็นปัญหาในประสบการณ์ของคุณหรือต้องการตรวจสอบว่ามันทำงานตามที่คุณตั้งใจได้หรือไม่ คุณสามารถดีบั๊กรหัสที่เกี่ยวข้องกับมันได้ดังต่อไปนี้:
ใส่จุดหยุดพัก ในแถวของโค้ดที่คุณต้องการตรวจสอบ
ในแท็บ สคริปต์ คลิก เล่น หรือ วิ่ง ในแท็บทดสอบเพื่อเริ่มเซสชันทดสอบ โดยที่รู้จักกันในนามเซสชันของการดีบั๊ก
เมื่อสคริปต์เข้าถึงจุดหยุดพัก เซสชันทดสอบจะหยุดชั่วคราว ดูผ่านโค้ด ตรวจสอบ หน้าต่างดู และ ออก เพื่อช่วยให้คุณวินิจฉัยและเข้าใจปัญหา
ใส่จุดหยุดพักเพิ่มเติมในแถวของโค้ดที่ยังไม่ได้ประมวลผลเพื่อตรวจสอบข้อมูลเพิ่มเติม ปิดการใช้งาน หรือ ลบการใช้งาน จุดหยุดพักที่คุณไม่ต้องการอีกต่อไป
ใน แท็บสคริปต์ คลิก หยุด เพื่อสิ้นสุดเซสชันการดีบั๊ก
ทำซ้ำขั้นตอนก่อนหน้านี้จนกว่าคุณจะแก้ปัญหาหรือค้นหาสาเหตุรากของปัญหา เมื่อคุณเรียนรู้วิธีการทำงานทั่วไปคุณสามารถกำหนดจุดหยุดพักได้เฉพาะเมื่อตรงตามเง
การใส่จุดหยุด
จุดหยุดชั่วคราวคือจุดหยุดชั่วคราวที่ช่วยให้คุณหยุดประมวลผลของสคริปต์ของคุณในเส้นทางที่กำหนดไว้ คุณสามารถใช้ช่วงหยุดเพื่อตรวจสอบและดีบั
เพื่อใส่จุดหยุดตรงที่มีขนาดเล็กในแถวของโค้ด คลิกด้านซ้ายของเส้นหมายเลขของมัน คุณยังสามารถคลิกด้านซ้ายและคลิก ใส่จุดหยุดตรง ได้ จุดหยุดตรงปรากฏขึ้นเป็นจุดสีแดง เพื่อปิดมัน ค
ก้าวผ่านรหัส
หากคุณใส่จุดหยุดในตัวอักษรในสคริปต์สคริปต์จะหยุดก่อนที่จะประมวลผลตัวอักษรนั้น ลูกศรสีเหลืองที่เรียกว่า " debugger" แสดงถึงตัวอักษรของโค้ดต่อไป
เมื่อสคริปต์หยุดทำงานให้ดำเนินการตามรหัสต่อไปด้วยการเรียกผ่านพวกเขาด้วยปุ่มใน สคริปต์ แท็บ ปุ่มเหล่านี้ยังปรากฏขึ้นในมุมด้านบนซ้ายของ Call Stack หน้า
ตารางต่อไปนี้สรุปวิธีการสามในการขัดผ่านรหัส เพื่อดำเนินการต่อหลังจากที่คุณกดหยุดชั่วคราวคลิก รวม ในแท็บ สคริป
ปุ่ม | การกระทํา | ลัด | คำอธิบาย |
---|---|---|---|
เข้าสู่ | F11 ปุ่มเลือกปุ่ม | ปุ่ม เข้าไปใน เคลื่อนย้ายเดบักเกอร์ไปยังโค้ดของฟังก์ชันในต่างแถวปัจจุบัน หากไม่มีฟังก์ชันในต่างแถวปัจจุบัน เดบักเกอร์จะย้ายไปยังต่างแถวถัดไป | |
ข้ามขั้นตอน | F10 | ปุ่ม ข้าม รหัส, ไม่ ย้ายเข้าสู่ฟังก์ชัน | |
ก้าวออกไป | ShiftF11 | ปุ่ม ขั้นตอนออก เคลื่อนย้ายเดบดีออกจากสายงานปัจจุบันและไปยังสายงานต่อไปหลังจากการโทรคำนวณ. หากสายงานไม่อยู่ภายในฟังก์ชัน เดบดีจะย้ายไปยังสายงานต่อไป |
การตรวจสอบรหัส
เมื่อคะแนนหยุดช่วงประสบการณ์ในระหว่างการทดสอบเล่น คุณสามารถตรวจสอบหน้าต่าง ดู หน้าต่าง โทร หน้าต่าง ออก หน้าต่าง 1>สคริป1>
ดูตอนนี้
หน้าต่าง นาฬิกา มีสองแท็บ: แปร และ นาฬิกาของฉัน แท็บ 1>แปร1> แสดงข้อมูลเกี่ยวกับแปรปัจจุบันในขอบเขต และแท็บ
แท็บ ตัวแปร มีคอลัมน์ต่อไปนี้:
- ชื่อ – ชื่อที่ประกาศของแปร.
- สเก็ป – สเก็ปของตัวแปร: ที่มันสามารถ "เห็น" และเข้าถึงได้ เช่น ท้องถิ่น โลก หรือ Upvalue
- มูลค่า – มูลค่าปัจจุบันของตัวแปร
- ประเภทข้อมูล – ประเภทข้อมูลของแปร
แท็บ นาฬิกาของฉัน มีคอลัมน์ต่อไปนี้:
- คำถูกใช้ – คำถูกใช้ที่คุณต้องการดู
- ค่า – ค่าปัจจุบันของสมุดค่า
- ประเภทข้อมูล – ประเภทข้อมูลของคำ
ในแท็บ ตัวแปร คุณสามารถกรองขอบเขตของตัวแปรโดยการคลิกไอคอนกรอง คุณยังสามารถเรียงลำดับรายการโดยการคลิกชื่อของคอลัมน์เพื่อเรียงลำดับได้ หน้าต่างนาฬิกาให้ทั้งมุมมองขนาดของต
เพื่อตรวจสอบโค้ดในหน้าต่างนาฬิกา:
หากหน้าต่าง นาฬิกา ไม่เปิด ให้คลิกที่ นาฬิกา ในแท็บ มุมมอง
เมื่อเซสชันส์ทดสอบของคุณหยุดในจุดหยุดชั่วคราวคุณควรคิดว่าคุณคาดหวังว่าจะเปลี่ยนแปลงค่าตัวแปรในสคริปต์นั้น
รหัสดูว่ามูลค่าของแปรเปลี่ยนแปลงใน แปร แท็บ หากคุณต้องการดูคำแสดงผลที่ไม่ใช่ในแท็บแปร เปิดแท็บ ของฉ
เปรียบเทียบค่าของแปรและค่าของประกาศจากสิ่งที่คุณคาดหวังและสิ่งที่คุณเห็นในหน้าต่างนาฬิกา หากมีความแตกต่างระหว่างวิธีที่คุณคาดหวังว่าแปรจะเปลี่ยนและวิธีที่พวกเขาเปลี่ยนจริง
โทรหน้าต่าง Stack
หน้าต่าง คอลล์สแต็ค แสดงให้เห็นว่าบรรทัดของโค้ดใดจะประมาณตัวเมื่อเรือดีแล้วเรือจะหยุดที่จุดหยุดชั่วคราว หน้าต่าง
หากคุณมีจุดหยุดชั่วคราวในสคริปต์หลายฉบับพวกเขาอาจหยุดเซสชั่นการทดสอบเล่นในเวลาเดียวกัน คุณสามารถกระโดดไปยังจุดหยุดชั่วคราวโดยการคลิกลูกศรที่อยู่ข้างชื่อของสค
เพื่อตรวจสอบโค้ดในหน้าต่าง Call Stack ในระหว่างเซสชันของการดีบั๊ก:
หากหน้าต่าง คอลล์สแต็ค ไม่เปิด ให้คลิกที่ คอลล์สแต็ค ในแท็บ ดู
เมื่อประสบการณ์ของคุณหยุดในจุดหยุดชั่วคราวคุณควรคิดว่าคุณคาดหวังว่าการเรียกใช้งานจะอยู่ในสคริปต์นั้น
สแต็คการเรียกแสดงลำดับการเรียกหน้าการใช้งาน หากจุดหยุดอยู่ภายในการใช้งาน สแต็คการเรียกจะแสดงรหัสการเรียกของหน้าที่ใช้งานนั้น หากมี สแต็คการเรียกจะแสดงชื่อและหมายเลขบรรทัดของแ
เปรียบเทียบลำดับของการโทรคุณคิดว่าในขั้นตอนที่ 2 และลำดับที่แท้จริงจากขั้นตอนที่ 3 หากมีความแตกต่างใด ๆ จะมีความแตกต่างระหว่างวิธีที่คุณคาดหวังว่าโค้ดจะปฏิสัมพันธ์และวิธ
หน้าต่างการออก
หน้าต่าง การออก ซึ่งสามารถเข้าถึงจากหน้า ดู แสดงข้อผิดพลาดที่จับกุมได้จากการประมวลผลสคริปต์ข้อความจาก Roblox Engine บันทึกข้อความจากการโทรกลับ และข้อผิดพล
เครื่องมือสคริปต์
เดิตช์เกอร์ผสานกับเครื่องมือการแก้ไขข้อมูลเข้าด้วยกัน เมื่อประสบการณ์ของคุณหยุดที่จุดหยุดในสคริปต์คุณสามารถเลื่อนเมาส์ไปที่ชื่อแปรที่คุณให้เป็นตัวอ้างในการโทรคำนวณ
การตั้งค่า Breakpoint
คุณสามารถกำหนดจุดหยุดที่สามารถแก้ไขได้เฉพาะเมื่อตรงตามเงื่อนไขบางอย่างเท่านั้นจึงจะพิมพ์ข้อความในหน้าต่างการพิมพ์และดำเนินการเฉพาะในเครื่องของคุณหรือเซิร์ฟเวอร์เท่านั้น คุณยังสามารถผส
การแก้ไขค่าชุด
คุณสามารถแก้ไขการตั้งค่าของจุดหยุดใด ๆ ได้ตลอดเวลา รวมถึงในระหว่างเซสชันส์เล่นทดสอส หากคุณแก้ไขจุดหยุดใด ๆ ในระหว่างเซสชันเล่นทดสอส การเปลี่ยนแปลงเหล่านี้จ
เพื่อ編輯ข้อมูลการตั้งค่าของ breakpoint:
ให้คลิกที่จุดหยุดแล้วคลิก แก้ไขจุดหยุด
ใน หน้าต่างแก้ไขค่าครอส คุณสามารถกำหนดค่าครอสตามที่คุณต้องการได้
เงื่อนไข, ข้อความบันทึก, และตั้งค่า
สำหรับแต่ละจุดหยุด คุณสามารถตั้งค่า เงื่อนไข ของมัน ข้อความบันทึกดำเนินการต่อ และ 2>บริบท2>
เงื่อนไข คือคำสั่งที่กำหนดว่าว่า n จะประกาศว่าเป็นเงื่อนไขหรือไ
ข้อความบันทึก คือคำสั่งที่พิมพ์ไปยังหน้าต่างการออกเมื่อเงื่อนไขเป็นจริง รูปแบบของข้อความบันทึกคือเหมือ
ตัวเลือก ดำเนินการต่อ กำหนดว่าจุดหยุดจะหยุดสคริปต์หากมันเปิดใช้งาน มีประโยชน์หากคุณต้องการบันทึกค่าของตัวแปรหรือคำสั่งโดยไม่ต้องหยุดการประมวลผล ตัวเลือกนี้ถูกปิดใช้งานโดยค
บริบทของตรวจสอบจุดหยุด ของ breakpoint กำหนดว่า breakpoint ควรจะเปิดใช้งานใน Cliente, Server หรือ Edit หากบริบทเป็น Cliente แล้ว breakpoint จะเริ่มในสคริปต์ด้านล่างของ Cliente หากบริบทเ
คุณสมบัติเฉพาะและ Logpoints เฉพาะ
Studio เสนอตัวเลือกแบบขาดที่หลากหลายให้กับตัวชี้วัดเพื่อทำให้การใส่ชุดชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของชุดของช
คอนดิชันนัลไบร์คพอยน์ท์ คือไบร์คพอยน์ที่มี เงื่อนไข และ การดำเนินการต่อเนื่อง ถูกปิดใช้งาน
A Logpoint เป็นจุดหยุดชั่วคราวด้วยข้อความ Log Message และ การดำเนินการต่อไป เปิดใช้งาน Logpoints ส่งข้อความไปยังหน้า 2>การแสด
Logpoints มักจะมีประสิทธิภาพมากกว่าการใช้ print() สถานะ เพราะพวกเขาช่วยให้คุณสามารถบันทึกข้อความไปยังหน้าต่างการออกผลได้โดยไม่ต้องหยุดหรือเริ่มเซสชัน playtest ที่ก
การปิดการใช้งานจุดหยุด
มีหลายวิธีในการปิดการใช้งานและเปิดใช้งานระดับหยุดชั่วคราว:
- คลิกไอคอนของจุดหยุด
- แก้ไขจุดหยุดและเปิด/ปิดการเช็คที่เปิดใช้งาน
- คลิกที่ไอคอนจุดหยุดแล้วคลิกปุ่มปิดจุดหยุดหรือเปิดจุดหยุด
การลบจุดหยุด
เพื่อลบจุดหยุดชั่วคราว ให้คลิกที่ไอคอนของมัน คุณยังสามารถเลือกตรงได้ และคลิกที่ ลบจุดหยุดชั่วคราว
หน้าต่างแยก
หน้าต่าง Breakpoints แสดงรายการจุดหยุดทั้งหมดในประสบการณ์ของคุณ เพื่อเปิดหน้าต่าง Breakpoints คลิกที่ แท็บดู ในด้านบนของ Studio แล้วคลิกที่ Breakpoints
หน้าต่าง Breakpoints มีคอลัมน์ต่อไปนี้: unlabeled, สคริปต์, เส้น, เส้นที่แหล่ง, เงื่อนไข, ข้อความล็อค, และดำเนินการต่อ คอลัมน์ที่ไม่มีชื่อจะปรากฏขึ้นเสมอ แต่คุณสามารถเปิด/ปิดคอลัม
ในคอลัมน์ที่ไม่มีชื่อ เครื่องหมาย (x3) บ่งชี้จำนวนเวรเอ๊ยในเส้นทางเดียวกันของโค้ด และไอคอนบ่งชี้การกำหนดค่าเวรเอ๊ย คอลัมน์เวรเอ๊ย
คุณสามารถเปิดและปิดจุดหยุดโดยการคลิกไอคอนจุดหยุดของมันในคอลัมน์ที่เปิดใช้งาน คุณยังสามารถคลิกปุ่มต่อไปนี้เพื่อเปิดใช้งาน ปิดใช้งาน และลบบางหรือทั้งหมดของจุดหยุด
ปุ่ม | การกระทํา |
---|---|
ปิดการใช้งานทุกจุดหยุด. หากมีจุดหยุดใช้งานใด ๆ ปิดการใช้งาน, เปิดใช้งานทั้งหมด | |
ลบจุดหยุดทั้งหมด |
ไอคอนสถานะพัง
ไอคอนของจุดหยุดทำงานขึ้นอยู่กับว่าเปิดใช้งานหรือไม่มีเงื่อนไข และมีข้อความบันทึก หากจุดหยุดทำงานมีข้อความบันทึก จุดหยุดทำงานจะปรากฏเป็นจุดหยุดทำงานอย่างไรก็ตามไม่ว่าจะมีเงื่อนไขหรื
ชื่อ | ไอคอน | เปิดใช้งานแล้ว | เงื่อนไข | บันทึกข้อความ |
---|---|---|---|---|
จุดหยุด | ใช่ | ไม่ | ไม่ | |
ไม่ | ไม่ | ไม่ | ||
คุณสมบัติเฉพาะ | ใช่ | ใช่ | ไม่ | |
ไม่ | ใช่ | ไม่ | ||
ตรวจสอบ | ใช่ | บางส่วน | ใช่ | |
ไม่ | บางส่วน | ใช่ |
เครื่องมือการดีบั๊กเพิ่มเติม
นอกเครื่องมือของผู้ดีบั๊กที่ Studio นำเสนอเพิ่มเติมเพื่อให้คุณสามารถแก้ปัญหาและข้อผิดพลาดในประสบการณ์ของคุณได้
แถบคําสั่ง
แถบคําสั่ง ให้คุณสามารถดําเนินการ Luau ได้ในขณะที่ประสบการณ์กําลังดําเนินการ มันมีให้ใช้ใน Studio จากแท็บ ดู และใน เครื่องมือผู้พัฒนา
คอนโซลผู้พัฒนา
คอนโซลผู้พัฒนา ให้รายละเอียดที่หลากหลายรวมถึงการออกผลลัพธ์ของลูกค้าและเซิร์ฟเวอร์รวมถึงการใช้หน่วยความจำและประสิทธิภาพเครือข่าย เพ
บันทึก
เมื่อสคริปต์พิมพ์ข้อความใน Studio หรือ Player แอป แอปจะบันทึกข้อความในไฟล์บันทึกในระบบไฟล์ในท้องถิ่น ข้อมูลเหล่านี้ตั้งอยู่ในสถานที่ที่แตกต่างกันขึ้นอยู่กับระบบปฏิบัติการ
หน้าต่าง
เพื่อเข้าถึงไฟล็อกใน Windows:
- เปิด เครื่องมือจัดการไฟล์ 2. ไปที่ %LOCALAPPDATA%\Roblox\logs ไดเรกทอรี
- คลิกสองครั้งในบันทึกเพื่อเปิดมัน บันทึกที่มีค่า XXXXX เดียวกันอยู่ในเซสชันเดียวกัน
แมค
เพื่อเข้าถึงไฟล็อกใน Mac:
- เปิด หน้าต่าง Finder 2. ในแถบเมนูเลือก ไป ⟩ ไปที่ไดเรกทอรี... 3. ในกระทู้, ใส่ ~/Library/Logs/Roblox .
- คลิกสองครั้งในผลลัพธ์เพื่อนำทางไปยังไดเรกทอรี Roblox ล็อก
- ภายในไดเรกทอรี คลิกดับเบิลที่บันทึกเพื่อเปิดมัน
iOS
คุณสามารถเก็บบันทึก iOS ด้วย Mac หรือโดยใช้อุปกรณ์ iOS
เพื่อเข้าถึงไฟล็อค iOS บน Mac:
- เชื่อมต่ออุปกรณ์ iOS กับ Mac
- เปิด หน้าต่าง Finder 3. ไปที่ Utilities และเปิดใช้งาน Console ตัวแปร
- เพื่อกรอกบันทึกเรียลไทม์ในแอปพลิเคชันคอนโซลให้เลือกอุปกรณ์ iOS จากแถบด้านข้าง คลิกปุ่ม เริ่ม และวิดีโอปัญหาบนอุปกรณ์ iOS
- เพื่อกรอกบันทึกที่เก็บไว้ในแอปพลิเคชัน Console ให้ดำเนินการ sudo log collect --device-name "[iOS Device Name]" ใน Terminal อุปกรณ์
อันดรู
เพื่อเข้าถึงไฟล็อกใน Android:
- ไปที่ การตั้งค่า › ระบบ › ตั้งค่าผู้พัฒนา .
- เปิด/ปิด ตัวเลือกผู้พัฒนา 3. บนคอมพิวเตอร์, ดาวน์โหลดและติดตั้ง Android Studio
- ใน Android Studio, คลิก Logcat 5. เชื่อมต่ออุปกรณ์ Android กับคอมพิวเตอร์เพื่อกรอก Logcat โดยอัตโนมัติด้วยบันทึก