Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> การบำรุงรักษาคอมพิวเตอร์

LLDB แสดงให้เห็น: คำแนะนำสำหรับมือใหม่สู่การ Debug อันทรงพลัง

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

LLDB คืออะไร?

ก่อนที่เราจะพูดถึงคำสั่ง LLDB ให้เราพูดถึงการเดินทางเขียนโค้ดทั้งหมดก่อน เพื่อเราทุกคนสามารถเข้าใจงานของนักพัฒนาได้ดีขึ้น

ประสบการณ์การเขียนโค้ดทั้งหมดเป็นการเดินทางที่ยาวนาน หลังจากเขียนโค้ด ส่วนที่น่าตื่นเต้นเริ่มต้น นักพัฒนาจะรันโค้ดและคอมไพล์มัน ระหว่างการคอมไพล์ โค้ดจะพบคุณสมบัติที่แตกต่างกันและผ่านวิธีการบางอย่าง ตลอดทาง บั๊กจะถูกตรวจพบและ app logs กำลังถูกวิเคราะห์ จากนั้น นักพัฒนาเริ่มขั้นตอนการ debug

แม้จะ聽起來น่าตื่นเต้น การ debug ก็เป็นส่วนที่ท้าทาย למדי นักพัฒนามีเพียงชิ้นส่วนเล็กๆ ของปริศนา พวกเขารู้เพียงว่ามันควรเริ่มอย่างไรและควรจบอย่างไร ดังนั้นเพื่อค้นหาว่าสิ่งใดก่อให้เกิดบั๊ก พวกเขาต้องติดตามย้อนกลับทุกขั้นตอนที่พวกเขาเดินทางในทั้งการเดินทางเขียนโค้ด

เคล็ดลับ: สแกน Mac ของคุณเพื่อตรวจสอบปัญหาประสิทธิภาพ ไฟล์ขยะ แอพมี害 และภัยคุกคามด้านความปลอดภัย
ที่อาจทำให้ระบบมีปัญหาหรือทำงานช้า

เพื่อลดภาระของนักพัฒนา Apple สร้างทรัพยากรที่มีค่า: LLDB Low Level DeBugger ทำงานตรงตามชื่อของมัน มันเป็น debugger ที่แยกแอพพลิเคชันออกเป็นส่วนประกอบที่เล็กลง Apple ตั้งมันเป็นเครื่องมือ debug มาตรฐานสำหรับ Xcode IDE ประเภทของซอฟต์แวร์ที่ใช้เขียนโปรแกรมสำหรับ Macs และ iOS

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

LLDB Commands คืออะไร?

เพื่อ debug โค้ดโดยใช้ LLDB มีคำสั่งบางอย่างที่นักพัฒนาต้องป้อน เราแสดงคำสั่ง LLDB ที่ใช้บ่อยๆ ด้านล่าง:

  • apropos – แสดงรายการคำสั่ง debugger ที่เกี่ยวข้องกับคำหรือหัวข้อหนึ่งๆ
  • breakpoint – ใช้เมื่อทำงานกับ breakpoints
  • bugreport – เรียกเพื่อสร้าง bug reports ที่เฉพาะเจาะจงโดเมน
  • command – เรียกเมื่อนักพัฒนาต้องการจัดการคำสั่ง LLDB แบบกำหนดเองบน Mojave
  • disassemble – ใช้เมื่อถอดรหัสคำสั่งบางอย่างในฟังก์ชันปัจจุบัน
  • expression – เรียกเพื่อประเมิน expression เฉพาะเจาะจงในฟังก์ชันปัจจุบัน
  • frame – คำสั่งนี้ใช้เพื่อเลือกและตรวจสอบ stack frame ของ thread ปัจจุบัน
  • gdb-remote – เรียกเพื่อเชื่อมต่อกระบวนการผ่าน GDB remote server หากไม่มีการระบุเซิร์ฟเวอร์ จะใช้ localhost
  • gui – เรียกเพื่อสลับเข้าสู่ GUI แบบ cursor-based
  • help – เรียกเพื่อแสดงรายการคำสั่ง debugger หรือให้รายละเอียดเพิ่มเติมเกี่ยวกับคำสั่ง LLDB เฉพาะเจาะจง
  • kdp-remote – ใช้เพื่อเชื่อมต่อกระบวนการเฉพาะผ่าน KDPP remote server หากไม่มีการระบุ UDP port จะใช้พอร์ต 41139 อัตโนมัติ
  • log – คำสั่งนี้ควบคุม LLDB internal logging
  • platform – เรียกเพื่อสร้างและจัดการ platforms
  • plugin – ใช้จัดการ LLDB plugins
  • process – คำสั่งนี้เรียกเพื่ออนุญาตให้โต้ตอบกับกระบวนการบน platform ปัจจุบัน
  • quit – เรียกเพื่อออกจากหรือปิด LLDB
  • register – ใช้เพื่อเข้าถึง registers สำหรับ stack frame และ thread ปัจจุบัน
  • script – เรียกเพื่อเรียกใช้ script interpreter
  • settings – คำสั่งนี้เรียกเพื่อจัดการการตั้งค่าของ LLDB
  • source – เรียกเพื่อตรวจสอบ source code

วิธีแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับ LLDB

บางครั้ง ข้อผิดพลาดเกิดขึ้นเมื่อใช้ LLDB ข้อผิดพลาดที่โชคดีหนึ่งปรากฏสุ่มกับข้อความ "A program is trying to use LLDB command."

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

นี่คือวิธีแก้ไขที่เราแนะนำ:

1. รีบูท Mac ของคุณ

Macs สามารถ sleep, shut down, หรือ hibernate ได้ แม้บางผู้ใช้ชอบทิ้งคอมพิวเตอร์เปิดตลอดวัน บางคนปิดให้หลับเมื่อพวกเขาออกไป แม้จะไม่มีอะไรผิดกับตัวเลือกใดๆ บ่อยครั้ง นิสัยการใช้พลังงานของผู้ใช้สามารถส่งผลต่อประสิทธิภาพระบบได้ โดยเฉพาะหากคอมพิวเตอร์รันบนแบตเตอรี่

ตามผู้เชี่ยวชาญ Mac ขอแนะนำให้ปิดคอมพิวเตอร์ของคุณเป็นครั้งคราว ไม่เพียงจะป้องกันการปรากฏของข้อผิดพลาด มันยังจะทำให้แน่ใจว่าแอพและโปรแกรมทั้งหมดจะทำงานอย่างถูกต้อง

2. สแกน Mac ของคุณ

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

3. รีเซ็ต SMC

System Management Controller (SMC) เล่นบทบาทสำคัญบน Mac ของคุณ นอกจากการดูแลด้านการจัดการพลังงานของอุปกรณ์ มันยังตรวจสอบความถูกต้องของฮาร์ดแวร์ Apple ของคุณ ดังนั้น หากมีบางอย่างผิดปกติกับ SMC มันอาจส่งผลต่อแอพที่ทำงานอยู่บน Mac ของคุณ Xcode IDE ไม่ได้รับการยกเว้น

เพื่อรีเซ็ต SMC ของ Mac ให้ทำตามขั้นตอนด้านล่าง:

  1. ไปที่เมนู Apple
  2. เลือก Shut Down
  3. เมื่อ Mac ของคุณปิดแล้ว ให้กดค้าง CTRL + Option + SHIFT keys และปุ่ม Power พร้อมกัน
  4. หลังจาก 10 วินาที ป่อยทุกปุ่มและปุ่มพาวเวอร์
  5. เปิด Mac ของคุณอีกครั้งโดยกดปุ่ม Power คุณควรจะรีเซ็ต SMC ของ Mac สำเร็จแล้ว

สรุป

Debuggers เช่น LLDB เป็นเครื่องมือที่สะดวกสำหรับนักพัฒนา เพราะมันอนุญาตให้พวกเขาจัดการและตรวจสอบโค้ดด้วยการควบคุม ดังนั้น หากคุณเป็นนักพัฒนาที่มีความปรารถนา เริ่มทำความคุ้นเคยกับโค้ด LLDB รู้สึกสบายกับ interface ของมันเช่นกัน และปฏิบัติต่อมันเหมือนเพื่อนสนิทใหม่ของคุณ

หากคุณคิดว่าเราพลาดเรื่องสำคัญเกี่ยวกับ LLDB แชร์มาที่ด้านล่าง!