คำถามติดแท็ก debugging

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

1
Dollar Sign Blues: Javascript และ PHP
ฉันโตขึ้นการเขียนโปรแกรม C ++ และ Java ที่ทุกอย่างปลอดภัยและสวยงาม คอมไพเลอร์ตรวจสอบให้แน่ใจเพื่อให้ฉันอยู่ในการตรวจสอบถ้าฉันหลงทาง แน่นอนว่าทุกคนทำ Perl ได้เล็กน้อยในวิทยาลัย แต่ฉันไม่ได้หายใจเข้า เด็ก ๆ ทุกวันนี้ทุกอย่างเกี่ยวกับ PHP ที่แบ็กเอนด์และจาวาสคริปต์ที่อยู่ข้างหน้า ในการพยายามเป็นสะโพกฉันทำเช่นเดียวกัน (สำหรับการพัฒนาเว็บ) ปัญหาที่ฉันยังคงทำงานต่อไปคือฉันเพิ่มเครื่องหมายดอลลาร์ ($) ต่อหน้าตัวแปรปกติใน Javascript และแน่นอนไม่มีใครพูดอะไรเลยเพราะนั่นคือไวยากรณ์ทางกฎหมายที่มักใช้กับวัตถุ jQuery มีเครื่องมือในการดีบักหรือกลอุบาย dev เพื่อจับสัญญาณดอลลาร์นี้หรือไม่? คุณมักจะทำผิดพลาดเหมือนกันและคุณจัดการกับอารมณ์อย่างไร? เครื่องมือ Chrome dev ไม่เห็นว่านี่เป็นข้อผิดพลาดของ Javascript เสมอไป ฉันใช้ PhpStorm และ Emacs เพื่อการพัฒนา แต่สิ่งเหล่านั้นไม่ได้ทำให้ฉันงี่เง่าแม้ว่าฉันคิดว่า Emacs ทำ แต่เลือกที่จะไม่บอกฉันเกี่ยวกับเรื่องนี้ หากคุณคิดว่าคำถามนี้ไร้สาระฉันคิดว่าคุณพูดถูก แต่เราอยู่ในโลกที่ตัวแปรมีเครื่องหมายดอลลาร์อยู่ข้างหน้ามัน ในโลกใบนี้ไม่มีอะไรไร้สาระ

10
ทำไมไม่ใช้คำว่า bug แทนการยกเว้น? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา หากเราอ้างถึงข้อยกเว้นว่าเป็นข้อบกพร่องทำไมไม่เรียกมันว่าบั๊กตั้งแต่แรกแทนที่จะเป็นข้อยกเว้น? หากในรหัสเรียกว่าข้อยกเว้นและทันทีที่มันเกิดขึ้นจะเรียกว่าข้อผิดพลาด ถ้าอย่างนั้นทำไมไม่เรียกมันว่าบั๊กในตอนแรกล่ะ? ขอบคุณสำหรับคำตอบหรือความคิดเห็น

9
ผ้าพันแผลใช้งานได้บ่อยแค่ไหน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ลองนึกภาพสถานการณ์ต่อไปนี้: คุณตรวจพบว่าโปรแกรมของคุณ (หรือของคนอื่น) มีข้อบกพร่อง - ฟังก์ชั่นจะสร้างผลลัพธ์ที่ผิดเมื่อได้รับข้อมูลเฉพาะ คุณตรวจสอบรหัสและไม่พบสิ่งผิดปกติมันดูเหมือนจะชะงักเมื่อได้รับข้อมูลนี้ ตอนนี้คุณสามารถทำหนึ่งในสองสิ่งนี้: คุณตรวจสอบรหัสต่อไปจนกว่าคุณจะพบสาเหตุที่แท้จริง หรือคุณตบผ้าพันแผลด้วยการเพิ่มifคำสั่งตรวจสอบว่าอินพุตเป็นอินพุตเฉพาะนี้หรือไม่ถ้าเป็นให้ส่งคืนค่าที่คาดหวัง สำหรับฉันแล้วการใช้ผ้าพันแผลนั้นจะไม่เป็นที่ยอมรับอย่างสมบูรณ์ หากโค้ดทำงานโดยไม่คาดหมายกับอินพุตนี้อินพุตอื่นที่คุณพลาดไปมันจะตอบสนองอย่างประหลาด? มันดูเหมือนจะไม่เหมือนการแก้ไขเลย - คุณเพียงแค่พรวนดินปัญหาใต้พรม ในขณะที่ฉันจะไม่พิจารณาทำสิ่งนี้ฉันรู้สึกประหลาดใจที่อาจารย์และหนังสือมักจะเตือนเราเกี่ยวกับการใช้การแก้ไข "ผ้าพันแผล" ไม่ใช่ความคิดที่ดี ดังนั้นสิ่งนี้ทำให้ฉันประหลาดใจ: "การแก้ไข" ประเภทนี้พบได้บ่อยแค่ไหน?

11
การแก้ไขข้อบกพร่องที่ทำโดยคนอื่นเป็นวิธีที่ดีหรือไม่?
สมมติว่าสถานการณ์ที่ทีมสี่นักพัฒนากำลังสร้างแอปพลิเคชัน ในระหว่างขั้นตอนการทดสอบผู้ใช้จะรายงานข้อบกพร่อง ใครควรแก้ไขพวกเขา คนที่ทำรหัสผิดพลาดหรือใครก็ตามที่ว่าง? อะไรคือวิธีการที่ต้องการในการพัฒนาแบบเปรียว (scrum)?
17 agile  debugging 

3
GDB หยุดการดำเนินการชั่วคราวอย่างไร
อย่างที่คุณอาจทราบเราสามารถใช้ GDB และกำหนดจุดพักบนรหัสของเราเพื่อหยุดการประมวลผลชั่วคราวสำหรับการดีบัก คำถามของฉันคือ GDB หยุดกระบวนการอย่างไรและให้คุณดูเนื้อหาของการลงทะเบียนโดยใช้i rตัวอย่างเช่น การลงทะเบียนเหล่านั้นถูกใช้โดยกระบวนการ OS อื่น ๆ อย่างต่อเนื่องหรือ พวกเขาจะไม่ถูกเขียนทับได้อย่างไร? เป็นเพียงภาพรวมของเนื้อหาและไม่ใช่ข้อมูลจริง
16 c++  debugging 

7
บั๊กนาน ๆ ครั้ง แต่มีลำดับความสำคัญสูง
ฉันกำลังทำงานในโครงการ CNC (การควบคุมเชิงตัวเลขคอมพิวเตอร์) ซึ่งตัดรูปร่างเป็นโลหะด้วยเลเซอร์ ตอนนี้ปัญหาของฉันเป็นครั้งคราว (1-2 ครั้งใน 20 วันแปลก) การตัดผิดหรือไม่เป็นไปตามที่ตั้งไว้ แต่สิ่งนี้ทำให้เกิดการสูญเสียดังนั้นลูกค้าจึงไม่ค่อยมีความสุขกับมัน ฉันพยายามค้นหาสาเหตุของมันโดย รวมถึงไฟล์บันทึก แก้จุดบกพร่อง ทำซ้ำสภาพแวดล้อมเดียวกัน แต่มันจะไม่ทำซ้ำ การหยุดชั่วคราวและดำเนินการต่อจะทำให้การทำงานราบรื่นขึ้นโดยไม่มีข้อผิดพลาดปรากฏขึ้นอีกครั้ง ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันควรระบุว่าเป็นปัญหาฮาร์ดแวร์หรือไม่

11
วิธีสอนผู้ใช้ / ลูกค้าให้ส่งคำอธิบายข้อผิดพลาดที่ดีขึ้น
ฉันมักจะต้องจัดการกับลูกค้าหรือผู้ใช้ที่รายงานข้อผิดพลาดในแอปพลิเคชัน ส่วนใหญ่เนื้อหาของพวกเขาเป็นสิ่งที่ไร้ประโยชน์เช่น ข้อผิดพลาด !!! x ไม่ทำงาน ไม่มีข้อมูลเพิ่มเติม สำหรับการแก้ไขปัญหาฉันต้องขอรายละเอียดทุกอย่างซึ่งมักใช้เวลานานกว่าการแก้ไขปัญหาเอง ข้อมูลการส่งอื่น ๆ ในรูปแบบที่ไม่เหมาะเช่นภาพหน้าจอ (ของการบันทึกข้อมูลไม่ใช่ข้อผิดพลาด) แม้ว่าพวกเขาจะสามารถส่งลิงค์ (เราสามารถเข้าถึงระบบ) และอื่น ๆ คุณจะบอกผู้ใช้ / ลูกค้าของคุณให้อธิบายปัญหาเกี่ยวกับรายละเอียดเพิ่มเติมเพื่อให้กระบวนการทั้งหมดนั้นง่ายขึ้นสำหรับทั้งสองฝ่าย? แก้ไข คำถามนี้เป็นคำถามเกี่ยวกับทักษะทางสังคมมากกว่าวิธีการรวบรวมบันทึกและข้อมูลข้อผิดพลาดแบบเป็นโปรแกรม ฉันตระหนักถึงความจริงที่ว่านี่ควรเป็นส่วนหนึ่งของการออกแบบซอฟต์แวร์ที่ดี

2
วิธีแก้ปัญหา / เปลี่ยนรหัส Java ขณะที่โปรแกรมกำลังทำงาน
ฉันเพิ่งเห็นวิดีโอที่แสดงให้เห็นว่า Notch (จากชื่อเสียงของ Minecraft) กำลังดีบั๊กและเปลี่ยนแปลง Minecraft ในขณะที่มันกำลังทำงานอยู่ เขาหยุดเกมชั่วคราวเปลี่ยนบางอย่างในรหัสแล้วหยุดเกมที่การเปลี่ยนแปลงมีผลทันทีโดยไม่จำเป็นต้องเริ่มโปรแกรมใหม่ มันทำงานอย่างไร เทคนิคแบบไหนที่ใช้เพื่อให้บรรลุสิ่งนี้
15 java  debugging 

16
จะใช้เวลาในการดีบักน้อยลงได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ตามกฎของ Pareto โปรแกรมเมอร์ใช้เวลาเพียง 20% ในการทำสิ่งที่มีประโยชน์จริงๆ ฉันใช้เวลา 80% ในการดีบักแก้ไขสิ่งเล็ก ๆ เพื่อให้ทุกอย่างทำงานได้ มีวิธีการแก้จุดบกพร่องใช้เวลาน้อยลงหรือไม่

15
โปรแกรมเมอร์จริงใช้ debuggers? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา หากโปรแกรมเมอร์ที่มีประสบการณ์ใช้งานตัวจริงและถ้าเป็นเช่นนั้นภายใต้สถานการณ์ใด แม้ว่าในคำตอบของคำถามนั้นฉันพูดว่า "เดือน" ที่ผ่านมาฉันอาจหมายถึง "ปี" - ฉันไม่ได้ใช้ดีบักเกอร์ ดังนั้นคำถามที่ตอบได้เฉพาะของฉันอยู่ภายใต้สถานการณ์ใดที่คุณจะใช้ดีบักเกอร์ในฐานะโปรแกรมเมอร์ที่มีประสบการณ์
15 debugging 

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

8
ปกติคุณใช้กระบวนการใดในขณะที่พยายามดีบักปัญหา / ปัญหา / ข้อบกพร่องด้วยซอฟต์แวร์ของคุณ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา คนส่วนใหญ่ดูเหมือนจะรักษาจุดบกพร่องในฐานะศิลปะมากกว่าวิทยาศาสตร์ สำหรับคนที่นี่ซึ่งถือว่าเป็นวิทยาศาสตร์แทนที่จะเป็นศิลปะ - โดยปกติคุณใช้กระบวนการใดเมื่อเผชิญกับปัญหา / ข้อบกพร่อง / ปัญหาใหม่


3
วิธีส่งผลกระทบต่อลำดับความสำคัญของข้อบกพร่องให้กับนักพัฒนาและปฏิบัติต่อพวกเขาอย่างไร
เรามีกระบวนการบั๊กที่ใช้งานอยู่ในปัจจุบัน เรามีบั๊ก 3 ระดับ: ข้อผิดพลาด P1: ข้อบกพร่องที่ทำให้ผู้ใช้ไม่สามารถทำงานได้ พวกเขาจะต้องแก้ไขทันที ข้อผิดพลาด P2: ข้อบกพร่องที่ส่งผลกระทบ แต่ผู้ใช้สามารถทำงานได้ ข้อผิดพลาด P3: ข้อบกพร่องที่ไม่ส่งผลกระทบและผู้ใช้สามารถทำงานได้ P1 เป็นข้อบังคับและต้องได้รับการจัดการทันที แต่สำหรับ P2 และ P3 เราจะตัดสินเป็นกรณีไป ด้วย 3 ระดับที่เรามีทีมมีแนวโน้มที่จะทำงานในการพัฒนาที่เร่งรีบมากกว่าที่ลูกค้าถามแทนการติดต่อกับ P2 และ P3 ซึ่งเกือบจะไม่เร่งด่วน คำถามดังต่อไปนี้: ฉันควรเพิ่มระดับความสำคัญอีกระดับเช่นมี P4 หรือไม่ ฉันควรกำหนดเป้าหมายให้พวกเขาสำหรับจัดการกับตั๋วที่ไม่เร่งด่วนเหมือนในสัปดาห์นี้หรือไม่เมื่อไม่ได้มอบหมายงานการเขียนโค้ดคุณควรปฏิบัติต่ออย่างน้อย 1 P2 หรือไม่ ขณะนี้เราไม่มีวัตถุประสงค์อย่างที่ฉันกล่าวไว้ข้างต้น แต่ข้อกังวลของฉันคือการให้วัตถุประสงค์ดังกล่าวเป็นเรื่องที่โหดร้าย สิ่งที่แน่นอนคือฉันต้องพูดคุยกับพวกเขาเกี่ยวกับวัตถุประสงค์ทีมต้องการมีส่วนร่วมในการอภิปรายโดยเฉพาะอย่างยิ่งเมื่อเรากำหนดวัตถุประสงค์ ปรับปรุง: ฉันถูกเสนอคำถามนี้ในแง่ของความคล้ายคลึงกัน อย่างไรก็ตามมันไม่เหมือนกันเลย คำถามของฉันคือทำอย่างไรถึงจะมีคนจัดการกับข้อผิดพลาดโดยไม่มีการกำหนดวาระที่เข้มงวดและยังไม่ได้รับการแก้ไข ดังนั้นไม่คำถามที่บอกเป็นนัย ๆ ไม่ได้ช่วยฉัน ยังขอบคุณ

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.