หน้าแรก
วิธีการสั่งซื้อสินค้า
แจ้งชำระเงิน
บทความ
เว็บบอร์ด
เกี่ยวกับเรา
ติดต่อเรา
หน้าแรก
>
บทความ
>
Arduino IDE 2.0 - Debugging
ค้นหาบทความที่นี่
บทความทั้งหมด
Arduino IDE 2.0 - Debugging
2 ปีที่ผ่านมา
โดย
เจ้าของร้าน
Publish : 11 November 2022
หัวข้อในบทความนี้
- บอร์ดที่รองรับ
-
การใช้งาน Debugging
-
Breakpoints
- Step over
- Step In and Out
การ Debug ถือเป็นขั้นตอนหนึ่งของการเขียนโปรแกรม แน่นอนว่าตั้งแต่เริ่มมีคอมพิวเตอร์ ก็จะมี Bug เกิดมาพร้อมกัน การ debug ก็คือการกลับขั้วของ Bug จากที่ Bug มันคือข้อบกพร่องของโปรแกรมหรือโค้ด การ debug ก็คือการแก้ไขข้อบกพร่องต่าง ๆ นั่นเองครับ
โดยปกติแล้ว การ Debugging จะมีขั้นตอนคือ ระบุปัญหา > สำรวจปัญหา > วิเคราะห์ปัญหา > ตรวจสอบการวิเคราะห์ปัญหา > ทดสอบโค้ด > แก้ไขปัญหา
บอร์ดที่รองรับ
แม้ว่า Arduino IDE 2.0 จะมี Debugging มาให้ในตัว แต่ก็ไม่สามารถใช้ได้กับบอร์ดทุกตัวนะครับ โดยจะใช้ได้เฉพาะบอร์ดในตระกูล SAMD เท่านั้น คือบอร์ดต่อไปนี้
- MKR Zero
- MKR WiFi 1010
- MKR FOX 1200
- MKR WAN 1300
- MKR WAN 1310
- MKR GSM 1400
- MKR NB 1500
- MKR VIDOR 4000
- Nano 33 IoT
- Zero
(เนื่องจากในขณะที่เขียนบทความนี้ ผู้เขียนไม่มีบอร์ด SAMD ติดอยู่เลย ถูกหยิบยืมไปหมด จึงขอยืมรูปจากเว็บ Arduino มาใช้อธิบาย)
การใช้งาน Debugging
หลังจากที่เรารู้จัก และรู้ว่าสามารถใช้งานกับบอร์ดตัวไหนได้บ้างไปแล้ว เราลองมาเริ่มใช้งานกันดีกว่าครับ เริ่มต้นที่เลือกบอร์ดกันก่อน ต้องเลือกบอร์ดในตระกูล SAMD ตัวอย่างจะขอเลือก Arduino Zero จากนั้นจึงคลิกไอคอน Debugging
ที่แถบด้านข้าง ปุ่ม Debugging ที่แถบด้านบนข้างปุ่มอัพโหลดก็จะกดได้แล้ว
ส่วนการจะใช้งาน Debugging นั้นก็จะต้องอัพโหลดโค้ดไปที่บอร์ดก่อนเป็นอันดับแรก เราจะสามารถใช้งาน Debugging ได้ก็ต่อเมื่ออัพโหลดโค้ดขึ้นไปที่บอร์ดเรียบร้อยแล้ว (และต้องเสียบบอร์ดคาไว้ด้วย) ซึ่งในตัวโปรแกรมนั้นก็จะมีตัวเลือกต่าง ๆ ในการ Debugging ให้เลือกใช้ได้ตามความต้องการ
Breakpoints
กรณีที่เราเขียนโปรแกรมยาวมาก ๆ แล้วมีการแก้ไขเพิ่มเติมต่าง ๆ ลงไป การจะตรวจสอบทั้งหมดก็ใช่เรื่อง ก็โปรแกรมเดิมเราตรวจมาแล้ว ผ่านหมดแล้ว ตรวจซ้ำใหม้เสียเวลาทำงานของเราเพื่ออะไรใช่มั๊ยครับ ตรงนี้เราก็จะใช้ Breakpoint เข้ามากำหนดให้ทดสอบเฉพาะช่วงที่เราต้องการ ซึ่งใน Arduino IDE 2.0 นี้ทำได้โดยไปหาว่าจะเริ่มที่บรรทัดไหน จากนั้นเอาเมาส์ไปคลิกที่หน้าเลขบรรทัดนั้นจะมีจุดแดง ๆ ขึ้นมา (ตอนชี้ก็จะมีจุดแดงลาง ๆ บอก) หลังจากนั้นจึงไปคลิกที่จุดสิ้นสุดอีกครั้ง เป็นการเลือกช่วงที่เราจะทำการทดสอบในตัวอย่างคือทดสอบบรรทัดที่ 33 - 35
ที่แถบ Sidebar เลื่อนมาที่ล่างสุดจะเห็นหัวข้อ BREAKPOINTS ติ๊กถูก(ปกติโปรแกรมจะติ๊กให้อยู่แล้ว) จากนั้นคลิกปุ่ม Start
เพื่อเริ่มทำการ Debug ได้เลย
Step over
มีไว้เพื่อวิเคราะห์การทำงานของโค้ดที่เราเขียนขึ้นมา ในกรณีที่เราเขียนโค้ดยาวมากหลายขั้นตอน แต่เกิด Error ที่ไม่รู้ว่าโค้ดเรามันทำงานผิดพลาดตรงไหน เราสามารถกด Step over เพื่อสั่งให้ทำงานเพียง 1 ขั้นตอน จากนั้นจึงนั่งดูว่าขั้นตอนนั้นทำงานถูกต้องหรือไม่ หากทำงานได้อย่างถูกต้องแล้วก็สามารถกดอีกครั้งเพื่อสั่งให้ทำงานในขั้นตอนถัดไป ค่อย ๆ ไล่หาว่าขั้นตอนไหนที่ทำงานผิดพลาดจึงทำการแก้ไขปัญหาที่เกิดขึ้น การทำแบบนี้จะช่วยให้เราหาจุดที่ผิดพลาดได้เร็ว ไม่ต้องนั่งอ่านโค้ดทั้งหมดแล้วก็งงเองสุดท้ายก็ไม่รู้ว่ามันผิดตรงไหนครับ
Step In and Out
ใช้ตรวจสอบว่าโค้ดนั้นมันมาจากไหน หรือจะไปไหนต่อ กรณีที่เราแยกหลาย ๆ ฟังก์ชัน เราเขียนมาหลายวันก็ลืมไปแล้วว่าอันนี้มันมาจากตรงไหน จากตัวอย่างเราจะไป Debug ที่คำสั่ง digitalWrite() ว่าฟังก์ชันนี้มันมาได้ยังไงนะ เมื่อเราคลิก Step in ตัวโปรแกรมก็จะบอกเราว่า อ๋อ digitalWrite() มันมาจาก framework ของ Arduino เป็นฟังก์ชันที่อยู่ในไฟล์ wiring_digital.c แล้วก็พาเราไปยังฟังก์ชันนั้น
ในขณะที่ Step out จะทำตรงข้ามกัน สังเกตว่าเมื่อคลิกอยู่ที่ฟังก์ชัน digitalWrite() ในไฟล์ wiring_digital.c จากนั้นคลิก Step out ตัวโปรแกรมจะพาเรามายังโค้ดที่เราเขียน digitalWrite() เอาไว้ เป็นการบอกว่า อ๋อ ไอ้ฟังก์ชันนี้ที่เขียนขึ้นมามันถูกเรียกไปใช้งานตรงนี้อยู่นะ นั่นเอง
ทั้งหมดนี้ก็คิดว่าหลาย ๆ ท่านคงเข้าใจการทำงานของ Debugger มากขึ้น ซึ่งจริง ๆ แล้วมันเป็นเครื่องมือที่มีประโยชน์มาก ๆ ครับ ในกรณีที่เราทำงานเขียนโค้ดงานก็ใช้หาจุดบกพร่อง หาที่มาที่ไปของฟังก์ชันที่เขียนขึ้นมาได้ ช่วยให้การทำงานนั้นง่ายขึ้น แต่สำหรับผู้ที่เล่นเป็นงานอดิเรก หรือสำหรับมือใหม่ เครื่องมือเหล่านี้ก็จะช่วยให้สามารถทำความเข้าใจโครงสร้างของโปรแกรม และสามารถเรียนรู้ได้รวดเร็วขึ้น ก็เรียกว่ามีประโยชน์ในหลายด้านครับสำหรับเครื่องมือตัวนี้ วันนนี้คิดว่าก็คงจบการแนะนำแล้ว ที่เหลือทุกท่านไปเล่นต่อกันเองได้เลย สำหรับบทความ Arduino IDE 2.0 ก็ใกล้จบแล้วนะครับ สำหรับตอนหน้าจะเป็นเรื่องอะไร คอยติดตามกันนะครับ สำหรับวันนี้ลาไปก่อน สวัสดีครับ
หากเห็นว่าบทความมีประโยชน์ต้องการสนับสนุนเป็นกำลังใจ สามารถสนับสนุนกาแฟให้เรานั่งเขียนบทความตามลิงค์ด้านล่าง
https://ko-fi.com/pbangtawee
p.bangtawee (buymeacoffee.com)
Share
Share :
COPY
Privacy Policy
|
Cookie Policy
|
Copyright © 2025
fitrox.lnwshop.com
All rights reserved.
ตะกร้า
(
0
)
▲
▼
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก
ยังไม่มีบัญชีเทพ
สร้างบัญชีใหม่
ไม่มีค่าใช้จ่าย
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
Fitrox Electronics
ไฟทร็อก อิเล็กทรอนิกส์ จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ บอร์ดไมโครคอนโทรลเลอร์ และอุปกรณ์สำหรับโปรเจคต่างๆ อ.เมือง จ.เชียงใหม่ (หลัง มช.)
เบอร์โทร :
0897245633
อีเมล :
fitrox.electronics@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
ค้นหาสินค้าในร้านนี้
ค้นหา
หรือค้นหาอย่างละเอียด
ค้นหาสินค้า
สินค้าที่ดูล่าสุด
{{pdata.name}}
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join เป็นสมาชิกร้าน
แชร์หน้านี้
แชร์หน้านี้
↑
TOP
เลื่อนขึ้นบนสุด
คุณมีสินค้า
0
ชิ้นในตะกร้า
สั่งซื้อทันที
สินค้าในตะกร้า ({{total_num}} รายการ)
ขออภัย ขณะนี้ยังไม่มีสินค้าในตะกร้า
ราคาสินค้าทั้งหมด
฿ {{price_format(total_price)}}
- ฿ {{price_format(discount.price)}}
ราคาสินค้าทั้งหมด
{{total_quantity}} ชิ้น
฿ {{price_format(after_product_price)}}
ราคาไม่รวมค่าจัดส่ง
ดูสินค้าในตะกร้า
เริ่มการสั่งซื้อ
➜
เลือกซื้อสินค้าเพิ่ม
พูดคุย-สอบถาม
อีเมล fitrox.electronics@gmail.com
โทร 0897245633
channel/UCnHfpCdqN1RkzAfEH_lRLvw?
1924052434588436
Add @zpq2828r