คู่มือ Claude Code
แก้บั๊กได้ในไม่กี่วินาที ด้วย Claude Code
อ่าน วินิจฉัย แก้ไข ตรวจสอบ ลูปการดีบักด้วย AI
Claude Code ดีบักโดยการอ่านผลลัพธ์ของข้อผิดพลาด ไล่ตามโค้ดเบสของคุณ และใช้การแก้ไขที่ตรงจุด ทั้งหมดนี้ทำได้จากคำสั่งเทอร์มินัลเดียว แทนที่จะไล่โค้ดด้วยตัวเองผ่านดีบักเกอร์ หรือกระจายคำสั่ง print ไปทั่วโค้ด คุณเพียงอธิบายปัญหา และ Claude Code จะอ่านไฟล์ที่เกี่ยวข้อง หาสาเหตุที่แท้จริง และเขียนการแก้ไขให้ มันทำงานได้กับภาษาใดก็ได้ เฟรมเวิร์กใดก็ได้ และโปรเจกต์ทุกขนาด
การดีบักด้วย Claude Code ทำงานโดยการอธิบายบั๊กด้วยภาษาธรรมดา Claude จะอ่านซอร์สโค้ดที่เกี่ยวข้อง หาสาเหตุที่แท้จริง ใช้การแก้ไข และรันชุดทดสอบของคุณเพื่อยืนยันผล เพียงพรอมต์เดียวก็สามารถแทนที่การดีบักด้วยมือได้ถึง 30 นาที ด้วยการใช้ประโยชน์จากบริบททั้งหมดของโค้ดเบส
กระบวนการ
การดีบักด้วย Claude Code ทำงานอย่างไร
เมื่อคุณวางข้อความแสดงข้อผิดพลาด สแตกเทรซ หรืออธิบายพฤติกรรมที่ไม่คาดคิด Claude Code จะเริ่มด้วยการอ่านไฟล์ซอร์สที่เกี่ยวข้อง มันไม่ได้เดา แต่เปิดโค้ดจริงของคุณ อ่านสาย import ตรวจสอบไฟล์การตั้งค่า และสร้างแบบจำลองความคิดว่าโค้ดควรทำงานอย่างไร หากข้อผิดพลาดอ้างถึงไฟล์และบรรทัดที่เจาะจง มันจะเริ่มที่นั่น หากคุณอธิบายอาการ มันจะค้นหาในโปรเจกต์ของคุณเพื่อหาเส้นทางโค้ดที่เกี่ยวข้อง
หลังจากอ่านโค้ดแล้ว Claude Code จะอธิบายว่าอะไรกำลังผิดพลาดและเพราะอะไร นี่ไม่ใช่แค่การพูดซ้ำข้อความแสดงข้อผิดพลาด แต่มันไล่ตามลำดับตรรกะ หาจุดที่สมมติฐานผิดพลาด และชี้สาเหตุที่แท้จริง ตัวอย่างเช่น หากคอมโพเนนต์ React แสดงข้อมูลที่ล้าสมัย Claude Code อาจไล่ตามปัญหาจากคอมโพเนนต์นั้นไปยังฮุกที่กำหนดเอง และไปจนถึง dependency ที่ขาดไปในอาร์เรย์ useEffect มันอธิบายทั้งสายของสาเหตุและผล ไม่ใช่แค่อาการที่เห็น
Claude Code ไม่ได้บอกแค่ว่าต้องเปลี่ยนอะไร แต่แก้ไขไฟล์โดยตรง มันเขียนการแก้ไขที่น้อยที่สุดและถูกต้องในตำแหน่งที่เหมาะสม หากการแก้ไขต้องเปลี่ยนแปลงในหลายไฟล์ (เช่น อัปเดตนิยามของ type และทุกจุดที่ใช้งาน) Claude Code จะจัดการทั้งหมดตามลำดับ คุณตรวจสอบ diff ก่อนที่จะยอมรับ ทำให้คุณยังควบคุมสิ่งที่จะถูก commit ได้
หลังจากใช้การแก้ไขแล้ว Claude Code สามารถรันชุดทดสอบ linter หรือคำสั่งบิลด์ของคุณเพื่อตรวจสอบว่าการเปลี่ยนแปลงนั้นใช้งานได้ หากยังมีบางอย่างล้มเหลว มันจะอ่านข้อผิดพลาดใหม่และทำซ้ำลูปการวินิจฉัย แก้ไข ตรวจสอบ จนกว่าปัญหาจะคลี่คลาย แนวทางที่ทำซ้ำนี้สะท้อนวิธีที่นักพัฒนามีประสบการณ์ดีบัก แต่เกิดขึ้นในไม่กี่วินาทีแทนที่จะเป็นหลายนาที
เวิร์กโฟลว์
เวิร์กโฟลว์การดีบักที่พบบ่อย
วางสแตกเทรซแล้ว Claude Code จะอ่านทุกไฟล์ในสายการเรียกใช้งาน มันหาสาเหตุที่แท้จริง ไม่ใช่แค่บรรทัดที่โยนข้อผิดพลาด โดยไล่ตามขอบเขตแบบอะซิงโครนัส ชั้นมิดเดิลแวร์ และการเรียกใช้งานไลบรารีของบุคคลที่สาม
บอก Claude Code ว่าการทดสอบใดล้มเหลว แล้วมันจะอ่านทั้งไฟล์ทดสอบและการใช้งานจริง มันเปรียบเทียบพฤติกรรมที่คาดหวังกับพฤติกรรมจริง หาความไม่ตรงกัน และแก้ไขโค้ด (หรือแก้ไขการทดสอบ หากการทดสอบนั้นผิด)
ข้อผิดพลาดของ type ใน TypeScript และ Python มักลุกลามเป็นลูกโซ่ โดย type ที่ผิดเพียงหนึ่งจุดอาจทำให้เกิดข้อผิดพลาดถึงยี่สิบจุด Claude Code ไล่กลับไปถึงความไม่ตรงกันของ type ดั้งเดิม แก้ไขที่จุดต้นทาง และยืนยันว่าการแก้ไขนั้นคลี่คลายข้อผิดพลาดที่ตามมาทั้งหมด
สำหรับข้อยกเว้นของ null pointer การเข้าถึงค่า undefined และการขัดข้องขณะรันไทม์ Claude Code จะอ่านโค้ดโดยรอบ หาว่าตัวแปรใดอาจเป็น undefined และเพราะเหตุใด แล้วเพิ่มการตรวจสอบค่า null ที่เหมาะสม หรือแก้ไขการไหลของข้อมูล
แนวทางปฏิบัติที่ดีที่สุด
เคล็ดลับสำหรับการดีบักอย่างมีประสิทธิภาพ
Claude Code ทำงานได้ดีที่สุดกับข้อความแสดงข้อผิดพลาดและสแตกเทรซที่แม่นยำ คัดลอกผลลัพธ์ของเทอร์มินัลทั้งหมดแทนการสรุปด้วยคำพูดของคุณเอง หมายเลขบรรทัด ตำแหน่งไฟล์ และรหัสข้อผิดพลาดในสแตกเทรซดิบจะให้จุดเริ่มต้นที่แม่นยำแก่ Claude Code การสรุปแบบ "มันพังตอนล็อกอิน" บีบให้ต้องเดา TypeError: Cannot read properties of undefined (reading 'user') ตัวจริงจะบอก Claude Code อย่างชัดเจนว่าต้องดูที่ไหน
สำหรับบั๊กด้านพฤติกรรมที่ไม่มีข้อความแสดงข้อผิดพลาด ให้อธิบายความแตกต่างระหว่างพฤติกรรมที่คาดหวังกับพฤติกรรมจริง "API ส่งกลับ 200 แต่เนื้อหาการตอบกลับว่างเปล่า" มีประโยชน์กว่า "API ใช้งานไม่ได้" มากนัก คำอธิบายที่ชัดเจนยิ่งขึ้นจะช่วยให้ Claude Code ระบุเส้นทางโค้ดที่ก่อให้เกิดผลลัพธ์ที่ผิดพลาดได้เร็วขึ้น
ไม่ต้องอธิบายอาร์คิเทกเจอร์ของคุณล่วงหน้า Claude Code อ่านไฟล์ซอร์สจริงของคุณ ซึ่งเชื่อถือได้มากกว่าคำอธิบายของคุณเกี่ยวกับมัน หากคุณบอกว่า "มิดเดิลแวร์ยืนยันตัวตนตรวจสอบ JWT" แต่โค้ดของคุณจริง ๆ แล้วข้ามการตรวจสอบสำหรับบางเส้นทาง Claude Code จะพบสิ่งนี้เมื่ออ่านไฟล์ ไว้วางใจให้เครื่องมืออ่านโค้ดของคุณ แทนที่จะเล่าให้มันฟัง
เพิ่มคำสั่งทดสอบ คำสั่งบิลด์ และข้อผิดพลาดที่พบบ่อยของโปรเจกต์คุณลงในไฟล์ CLAUDE.md เมื่อ Claude Code รู้ว่า npm test รันชุดทดสอบของคุณ และ npm run lint ตรวจสอบสไตล์โค้ด มันจะสามารถยืนยันการแก้ไขได้โดยอัตโนมัติ สิ่งนี้เปลี่ยนการดีบักจากบทสนทนาให้กลายเป็นลูปที่ทำงานโดยอัตโนมัติ
การเปรียบเทียบ
การดีบักเทียบกับ IDE แบบดั้งเดิม
ดีบักเกอร์ของ IDE แสดงค่าตัวแปรที่เบรกพอยต์ ลินเตอร์จับปัญหาด้านไวยากรณ์ แต่ทั้งสองอย่างไม่เข้าใจว่าโค้ดของคุณควรทำอะไร Claude Code อ่านเจตนาที่อยู่เบื้องหลังโค้ดของคุณ ชื่อฟังก์ชัน ตรรกะโดยรอบ ความคาดหวังของการทดสอบ และระบุได้ว่าเมื่อไหร่ที่การใช้งานเบี่ยงเบนไปจากเจตนานั้น มันจับบั๊กทางตรรกะที่การเน้นไวยากรณ์ไม่สามารถเผยให้เห็นได้เลย
ดีบักเกอร์แบบดั้งเดิมไล่ตามเส้นทางการทำงานได้เพียงเส้นทางเดียว Claude Code อ่านทั้งโปรเจกต์ของคุณ โดยไล่ตามว่า type ที่กำหนดไว้ในไฟล์หนึ่งถูกใช้งานโดยฟังก์ชันในไฟล์อื่นอย่างไร ซึ่งฟังก์ชันนั้นส่งข้อมูลให้คอมโพเนนต์ในไฟล์ที่สาม มันสามารถระบุได้ว่าบั๊กของคุณไม่ได้อยู่ในไฟล์ที่โยนข้อผิดพลาด แต่อยู่ในฟังก์ชันยูทิลิตีที่อยู่ลึกไปสาม import ซึ่งเงียบ ๆ ส่งคืนรูปแบบข้อมูลที่ผิด
ดีบักเกอร์ของ IDE ต้องการการตั้งค่าการเริ่มทำงาน source map และการตั้งเบรกพอยต์ Claude Code ทำงานได้ตั้งแต่คุณเปิดเทอร์มินัล ไม่มีดีบักเกอร์ที่ต้องตั้งค่า ไม่มีเบรกพอยต์ที่ต้องวาง ไม่มี watch expression ที่ต้องกำหนด คุณอธิบายปัญหาด้วยภาษาทั่วไป และ Claude Code จะเริ่มสืบหาทันที สิ่งนี้ทำให้มันมีประสิทธิภาพเป็นพิเศษสำหรับโค้ดเบสที่ไม่คุ้นเคย ซึ่งคุณอาจไม่รู้ด้วยซ้ำว่าจะวางเบรกพอยต์ตรงไหน
คำถามที่พบบ่อย
การดีบักด้วย Claude Code คำถามที่พบบ่อย
ได้ วางสแตกเทรซหรือล็อกข้อผิดพลาดจากระบบโปรดักชันลงใน Claude Code และมันจะไล่ตามปัญหากลับไปในซอร์สโค้ดของคุณ มันสามารถอ่านไฟล์ล็อก ระบุฟังก์ชันที่มีปัญหา และเสนอการแก้ไข สำหรับปัญหาที่เฉพาะกับระบบโปรดักชัน เช่น สภาพแวดล้อมไม่ตรงกันหรือการตั้งค่าที่ขาดไป ให้แบ่งปันบริบทการดีพลอยที่เกี่ยวข้อง และ Claude Code จะนำสิ่งนั้นมาพิจารณาในการวินิจฉัย
Claude Code ทำงานได้กับเฟรมเวิร์กหลักทุกตัว React, Next.js, Django, FastAPI, Rails, Express, Spring Boot และอีกมากมาย มันอ่านไฟล์โปรเจกต์ของคุณ (package.json, pyproject.toml, Gemfile) เพื่อทำความเข้าใจสแต็กของคุณ และใช้กลยุทธ์การดีบักที่เฉพาะเจาะจงกับเฟรมเวิร์ก มันยังรู้จักข้อผิดพลาดที่พบบ่อยของแต่ละเฟรมเวิร์ก เช่น ความไม่ตรงกันของ hydration ใน React ขอบเขตคอมโพเนนต์เซิร์ฟเวอร์/ไคลเอนต์ใน Next.js และปัญหาการคิวรีของ ORM ใน Django
นี่คือจุดที่ Claude Code เหนือกว่าเครื่องมือดีบักแบบดั้งเดิม มันสามารถอ่านหลายไฟล์ในโปรเจกต์ของคุณ ไล่ตามการเรียกใช้ฟังก์ชันข้ามโมดูล ตามสาย import และระบุได้ว่าค่าหนึ่งเสียหายที่จุดไหนขณะที่ส่งผ่านระหว่างคอมโพเนนต์ คุณอธิบายอาการ และ Claude Code จะนำทางผ่านกราฟของ dependency เพื่อหาสาเหตุที่แท้จริง แม้ว่าบั๊กจะอยู่ห่างจากจุดที่ข้อผิดพลาดปรากฏถึงสามไฟล์
สำหรับบั๊กส่วนใหญ่แล้วใช่ การดีบักด้วย print ช้าเพราะคุณต้องเดาว่าจะเพิ่มล็อกตรงไหน รันโค้ด อ่านผลลัพธ์ และทำซ้ำ Claude Code อ่านเส้นทางโค้ดที่เกี่ยวข้องทั้งหมดในครั้งเดียวและระบุปัญหาได้ในไม่กี่วินาที อย่างไรก็ตาม สำหรับบั๊กที่ขึ้นกับจังหวะเวลาหรือปัญหาที่ปรากฏเฉพาะภายใต้โหลดสูง Claude Code สามารถช่วยคุณเพิ่มการล็อกเชิงกลยุทธ์ไว้ในตำแหน่งที่ถูกต้องพอดี แทนที่จะกระจายคำสั่ง print ไปทั่วโค้ด
วางข้อความแสดงข้อผิดพลาดหรือสแตกเทรซโดยตรง และให้ Claude Code ไล่ตามโค้ดเบสของคุณ ให้ขั้นตอนในการจำลองปัญหาซ้ำและรายละเอียดสภาพแวดล้อมที่เกี่ยวข้อง Claude Code จะอ่านไฟล์ที่เกี่ยวข้อง ระบุสาเหตุที่แท้จริง เสนอการแก้ไข และสามารถรันการทดสอบของคุณเพื่อยืนยันว่าการแก้ไขนั้นใช้ได้ กุญแจสำคัญคือการให้บริบทของข้อผิดพลาดแบบเต็ม แทนที่จะสรุปด้วยคำพูดของคุณเอง
ได้ เมื่อ Claude Code ระบุบั๊กได้ มันสามารถแก้ไขไฟล์ซอร์ส ใช้การแก้ไข และรันชุดทดสอบของคุณเพื่อยืนยันว่าปัญหาคลี่คลายแล้ว สำหรับบั๊กที่ตรงไปตรงมา เช่น ข้อผิดพลาด off-by-one การตรวจสอบค่า null ที่ขาดไป หรือการเรียก API ที่ผิดพลาด มันมักจะแก้ไขได้ในรอบเดียว สำหรับบั๊กที่ซับซ้อน มันทำงานแบบทำซ้ำ: ใช้การแก้ไข ทดสอบ และปรับจนกว่าการทดสอบจะผ่าน
เรียนรู้การดีบักแบบมือโปร ด้วย Claude Code
เลิกอ่านแล้วลงมือสร้างอะไรสักอย่าง