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

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

19
การพิมพ์คอลเล็กชัน Java อย่างดี (toString ไม่ส่งคืนเอาต์พุตสวย)
ฉันต้องการพิมพ์Stack<Integer>วัตถุเช่นเดียวกับที่ Eclipse debugger ทำ (เช่น[1,2,3...]) แต่การพิมพ์ด้วยout = "output:" + stackไม่ได้ผลลัพธ์ที่ดีเท่านี้ เพื่อชี้แจงฉันกำลังพูดถึงคอลเลกชันในตัวของ Java ดังนั้นฉันจึงไม่สามารถแทนที่toString()ได้ ฉันจะรับสแต็กรุ่นที่พิมพ์ได้ดีได้อย่างไร

13
วิธีตั้งค่าเบรกพอยต์ใน Javascript แบบอินไลน์ใน Google Chrome
เมื่อฉันเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ใน Google Chrome ฉันเห็นคุณลักษณะทุกอย่างเช่นโปรไฟล์ไทม์ไลน์และการตรวจสอบ แต่ฟังก์ชั่นพื้นฐานเช่นความสามารถในการตั้งจุดพักทั้งในไฟล์ js และภายในโค้ด HTML และจาวาสคริปต์! ฉันพยายามใช้คอนโซล javascript ซึ่งเป็นรถตัวเอง - ตัวอย่างเช่นเมื่อพบข้อผิดพลาด JS ฉันไม่สามารถออกจากมันได้เว้นแต่ฉันจะรีเฟรชทั้งหน้า ใครช่วยได้บ้าง

18
ไม่สามารถรับค่าของโลคัลหรืออาร์กิวเมนต์เนื่องจากไม่สามารถใช้งานได้ที่ตัวชี้คำสั่งนี้อาจเป็นเพราะได้รับการปรับให้เหมาะสม
Visual Studio 2010 ฆ่าข้อมูล (ไม่มีคำอื่น ๆ ) หนึ่งในอาร์กิวเมนต์ของฟังก์ชันในบล็อกที่ไม่ปลอดภัย สิ่งที่อาจทำให้เกิดข้อผิดพลาดนี้? ข้อความต่อไปนี้แสดงโดยดีบักเกอร์ Cannot obtain value of local or argument as it is not available at this instruction pointer, possibly because it has been optimized away.

5
วิธีการส่งผ่านข้อโต้แย้งและเปลี่ยนเส้นทาง stdin จากไฟล์ไปยังโปรแกรมทำงานใน gdb?
ฉันมักจะเรียกใช้โปรแกรมเป็น: ./a.out arg1 arg2 <file ฉันต้องการดีบักโดยใช้ gdb ฉันตระหนักถึงการset argsทำงาน แต่ใช้งานได้จากพรอมต์ gdb เท่านั้น
210 c++  debugging  gdb 

30
Valgrind ใช้แทน Windows ได้ดีหรือไม่?
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลังมองหา Valgrind เพื่อช่วยปรับปรุงการเข้ารหัส / การดีบัก C ของฉันเมื่อฉันค้นพบว่ามันเป็นเพียงสำหรับ Linux - ฉันไม่มีความต้องการหรือความสนใจในการย้ายระบบปฏิบัติการของฉันไปยัง Linux ดังนั้นฉันสงสัยว่ามีโปรแกรมที่ดีสำหรับ Windows

28
มี C ++ gdb GUI สำหรับ Linux หรือไม่ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ สั้น ๆ : ไม่มีใครรู้ GUI สำหรับ gdb ที่นำมาใช้หรือใกล้เคียงกับคุณสมบัติที่คุณได้รับในเวอร์ชันล่าสุดของ Visual C ++ ในรายละเอียด: ในฐานะคนที่ใช้เวลาเขียนโปรแกรมใน Windows บล็อกที่มีขนาดใหญ่กว่าที่ฉันเคยพบเมื่อใดก็ตามที่ฉันต้องใช้รหัส C ++ ใน Linux คือการดีบักทุกอย่างโดยใช้ commandline gdb ทำให้ฉันใช้เวลานานกว่าหลายเท่า Visual Studio และดูเหมือนว่าจะไม่ได้ดีขึ้นด้วยการฝึกฝน บางสิ่งง่ายกว่าหรือเร็วกว่าในการแสดงภาพกราฟิก โดยเฉพาะฉันกำลังมองหา GUI ที่: จัดการพื้นฐานทั้งหมดเช่นการก้าวไปสู่โค้ดดูตัวแปรและเบรกพอยต์ ทำความเข้าใจและสามารถแสดงเนื้อหาของชนิดข้อมูล C ++ ที่ซับซ้อนและซ้อนกัน ไม่สับสนโดยเฉพาะอย่างยิ่งสามารถก้าวผ่านรหัสเทมเพลตและโครงสร้างข้อมูลอย่างชาญฉลาดในขณะที่แสดงข้อมูลที่เกี่ยวข้องเช่นประเภทพารามิเตอร์ สามารถจัดการแอปพลิเคชั่นที่เป็นเธรดและสลับไปมาระหว่างเธรดต่างๆไปจนถึงขั้นตอนหรือดูสถานะของ สามารถจัดการกับการแนบกับกระบวนการที่เริ่มทำงานแล้วหรืออ่านการถ่ายโอนข้อมูลหลักนอกเหนือจากการเริ่มโปรแกรมใน gdb หากโปรแกรมดังกล่าวไม่มีอยู่ฉันก็อยากจะฟังเกี่ยวกับประสบการณ์ที่ผู้คนเคยมีกับโปรแกรมที่ตรงกับสัญลักษณ์แสดงหัวข้อย่อยอย่างน้อย …
210 c++  linux  gdb  debugging 


8
PHP - แก้จุดบกพร่อง Curl
ฉันต้องการดูว่าโพสต์ในคำขอคืออะไรก่อนที่ฉันจะส่ง (สำหรับวัตถุประสงค์ในการแก้ไขข้อบกพร่อง) ไลบรารี PHP (คลาส) ที่ฉันใช้ถูกสร้างขึ้นแล้ว (ไม่ใช่โดยฉัน) ดังนั้นฉันจึงพยายามเข้าใจ เท่าที่ฉันสามารถบอกได้มันใช้curl_setopt()เพื่อตั้งค่าตัวเลือกต่าง ๆ เช่นส่วนหัวและอื่น ๆ จากนั้นจะใช้curl_exec()เพื่อส่งคำขอ แนวคิดเกี่ยวกับวิธีดูว่ามีการส่งฟิลด์การโพสต์ใด
210 php  debugging  curl 

12
จะยุติการทำงานของสคริปต์เมื่อทำการดีบั๊กใน Google Chrome ได้อย่างไร
เมื่อก้าวผ่านโค้ด JavaScript ในดีบักเกอร์ Google Chrome ฉันจะยุติการทำงานของสคริปต์ได้อย่างไรหากฉันไม่ต้องการดำเนินการต่อ วิธีเดียวที่ฉันพบคือปิดหน้าต่างเบราว์เซอร์ การกด "โหลดหน้านี้ใหม่" จะเรียกใช้รหัสที่เหลือและส่งแบบฟอร์มราวกับว่ากด F8 "ดำเนินการต่อ" อัปเดต : เมื่อกด F5 (รีเฟรช) ในขณะที่สคริปต์หยุดชั่วคราว: Google Chrome (v22) เรียกใช้สคริปต์ หากสคริปต์ส่งคำขอ HTTP การตอบสนอง HTTP สำหรับคำขอนั้นจะปรากฏขึ้น หน้าเดิมไม่ได้รีเฟรช IE 9 เพิ่งหยุดทำงาน อย่างไรก็ตาม IE มีตัวเลือก "Stop Debugging" ซึ่งเมื่อกด (หากคุณไม่ได้กด F5 ก่อนหน้านี้) จะยังคงเรียกใช้สคริปต์ภายนอกตัวดีบัก Firebug ทำงานเหมือนกับ Chrome การปิดและเปิดอีกครั้งหน้าต่างเบราว์เซอร์อาจไม่ใช่วิธีที่ง่ายที่สุดต่อไปเพราะจะฆ่าสถานะเซสชันของเบราว์เซอร์และอาจมีความสำคัญ จุดพักทั้งหมดของคุณจะหายไปเช่นกัน อัปเดต (มกราคม 2014) : …

4
ดีบักเกอร์ Eclipse จะบล็อกบน ThreadPoolExecutor เสมอโดยไม่มีข้อยกเว้นที่ชัดเจนทำไม?
ฉันกำลังทำงานในโครงการปกติของฉันใน Eclipse มันเป็นแอปพลิเคชัน J2EE ที่สร้างขึ้นด้วย Spring, Hibernate และอื่น ๆ ฉันใช้ Tomcat 7 ด้วยเหตุผลนี้ (โดยเฉพาะอย่างยิ่งฉันไม่ใช้ประโยชน์จากคุณสมบัติใหม่ใด ๆ ฉันแค่อยากลอง) เวลาที่ฉันแก้ปัญหาการสมัครของฉันทุกคนก็เกิดขึ้นที่คราสดีบักปรากฏออกมาเหมือนว่ามันจะได้ถึงจุดพัก แต่มันไม่ได้เป็นกรณีที่ในความเป็นจริงจะหยุดในแฟ้มแหล่งที่มา Java ThreadPoolExecutorที่เป็น ไม่มีการติดตามสแต็กบนคอนโซลเพียงหยุด ถ้าฉันคลิกที่ประวัติมันจะดำเนินต่อไปและแอพทำงานได้อย่างสมบูรณ์ นี่คือสิ่งที่แสดงในหน้าต่างดีบักเกอร์: Daemon Thread ["http-bio-8080"-exec-2] (Suspended (exception RuntimeException)) ThreadPoolExecutor$Worker.run() line: 912 TaskThread(Thread).run() line: 619 ฉันไม่สามารถอธิบายสิ่งนี้ได้เพราะฉันไม่ได้ใช้ThreadPoolExecutorเลย ต้องเป็นของบางอย่างจาก Tomcat, Hibernate หรือ Spring มันน่ารำคาญมากเพราะฉันต้องกลับมาทำงานในระหว่างการดีบั๊กเสมอ เบาะแสใด ๆ

10
ฉันจะดูไฟล์ต้นฉบับ C / C ++ ได้อย่างไรหลังจากประมวลผลล่วงหน้าใน Visual Studio
สมมติว่าฉันมีไฟล์ต้นฉบับที่มีคำสั่ง preprocessor มากมาย เป็นไปได้หรือไม่ที่จะดูว่ามันดูแลตัวประมวลผลล่วงหน้าด้วยหรือไม่

4
ตรวจสอบให้แน่ใจว่าการตั้งค่าการสร้างโครงการของคุณกำลังสร้างไฟล์ dSYM DEBUG_INFORMATION_FORMAT ควรตั้งค่าเป็น dwarf-with-dsym สำหรับการกำหนดค่าทั้งหมด
ฉันเพิ่งเริ่มรับข้อผิดพลาดนี้: 2015-03-23 11:35:48.902 run[60036:1047011] Crashlytics.framework/run 1.3.14 2015-03-23 11:35:48.911 run[60036:1047011] Crashlytics: dSYM Error Unable to process <your app>.app.dSYM at path /path/to/<your app>.app.dSYM Make sure your project build settings are generating a dSYM file. DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for all configurations. This could also be a timing issue, make sure …

11
วิธีการดีบักข้อผิดพลาดการผูกแม่แบบสำหรับ KnockoutJS?
ฉันมีปัญหาในการแก้ไขข้อบกพร่องในแม่แบบ KnockoutJS ว่าฉันต้องการผูกกับคุณสมบัติที่เรียกว่า " items" แต่ในเทมเพลตฉันพิมพ์ผิดและผูกเข้ากับคุณสมบัติ (ไม่มีอยู่) " item" การใช้ดีบักเกอร์ Chrome บอกฉันเท่านั้น: "item" is not defined. มีเครื่องมือเทคนิคหรือรูปแบบการเข้ารหัสที่ช่วยให้ฉันได้รับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาการผูกหรือไม่

13
หยุดพักเมื่อค่าเปลี่ยนแปลงโดยใช้ดีบักเกอร์ Visual Studio
มีวิธีการวางนาฬิกาบนตัวแปรหรือไม่และมี Visual Studio break เฉพาะเมื่อค่านั้นเปลี่ยนไปหรือไม่ มันจะทำให้ง่ายขึ้นมากในการค้นหาปัญหาของรัฐหากิน สามารถทำได้หรือไม่ เงื่อนไขเบรกพอยต์ยังต้องมีชุดเบรกพอยต์และฉันควรตั้งนาฬิกาและให้ Visual Studio ตั้งค่าเบรกพอยต์เมื่อมีการเปลี่ยนแปลงสถานะ

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

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