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

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

7
การใช้ node-inspector กับงาน Grunt
มีใครใช้ตัวตรวจสอบโหนดกับGruntสำหรับการดีบักแอปพลิเคชันหรือไม่ ถ้าไม่คุณสามารถแนะนำเครื่องมือดีบั๊กสำหรับแอพที่ใช้ Grunt ได้ไหม ฉันทำงานกับnodejsสำหรับแอปฝั่งเซิร์ฟเวอร์และฉันมีGrunt ที่จะใช้งานที่แยกจากกัน (เนื่องจากผู้ใช้สามารถดำเนินการงานแยกกันได้)

2
ดีบักเกอร์คืออะไรและจะช่วยฉันวินิจฉัยปัญหาได้อย่างไร
นี่เป็นคำถามที่มีวัตถุประสงค์ทั่วไปเพื่อช่วยเหลือโปรแกรมเมอร์มือใหม่ที่มีปัญหากับโปรแกรม แต่ไม่ทราบวิธีใช้ดีบักเกอร์เพื่อวินิจฉัยสาเหตุของปัญหา คำถามนี้ครอบคลุมคำถามที่เฉพาะเจาะจงมากขึ้นสามประเภท: เมื่อฉันเรียกใช้โปรแกรมของฉันโปรแกรมจะไม่สร้างผลลัพธ์ที่ฉันคาดหวังสำหรับอินพุตที่ฉันให้ไว้ เมื่อฉันรันโปรแกรมมันขัดข้องและส่งสแต็กเทรซให้ฉัน ฉันได้ตรวจสอบการติดตามสแต็กแล้ว แต่ฉันยังไม่ทราบสาเหตุของปัญหาเนื่องจากการติดตามสแต็กให้ข้อมูลไม่เพียงพอ เมื่อฉันเรียกใช้โปรแกรมโปรแกรมขัดข้องเนื่องจากข้อผิดพลาดในการแบ่งส่วน (SEGV)

9
มีข้อมูลมากเกินไปกับ var_dump ใน symfony2 doctrine2
ฉันมีเอนทิตีประมาณ 40 รายการและมีความสัมพันธ์แบบสองทิศทางมากมาย เมื่อใดก็ตามที่ฉันใช้ var_dump ($ user) หรือเอนทิตีใด ๆ ที่เบราว์เซอร์ของฉันโหลดด้วยข้อมูลอาร์เรย์และตัวแปรมากเกินไปมันก็จะพัง ฉันต้องการปัญหาอะไร กำลังแทรกข้อมูลได้ดี ฉันสามารถทำให้เกิดปัญหาในการผลิตได้หรือไม่

7
การดีบัก Xcode - การแสดงภาพ
ฉันชอบใช้ดีบักเกอร์ Xcode คุณสามารถดูค่าของตัวแปรและเปลี่ยนแปลงได้ แต่ฉันสามารถแสดงภาพที่อ้างอิงโดยตัวแปรรูปภาพได้หรือไม่? ฉันรู้ว่าฉันสามารถเห็นไบต์ดิบของมันได้ แต่การแสดงหน้าต่างที่มีเนื้อหาเป็นมิตรกับมนุษย์มากกว่านี้ Xcode อาจไม่รองรับสิ่งนี้ อาจมีเครื่องมือภายนอกที่จะช่วยแสดงภาพ?
100 xcode  debugging 

10
วิธีใช้ PyCharm เพื่อดีบักโครงการ Scrapy
ฉันกำลังทำงานกับ Scrapy 0.20 ด้วย Python 2.7 ฉันพบว่า PyCharm มีดีบักเกอร์ Python ที่ดี ฉันต้องการทดสอบแมงมุม Scrapy โดยใช้มัน ใครรู้วิธีทำกรุณา? สิ่งที่ฉันได้ลอง อันที่จริงฉันพยายามเรียกใช้สไปเดอร์ตามสคริปต์ ด้วยเหตุนี้ฉันจึงสร้างสคริปต์นั้นขึ้นมา จากนั้นฉันพยายามเพิ่มโครงการ Scrapy ของฉันไปยัง PyCharm เป็นโมเดลดังนี้: File->Setting->Project structure->Add content root. แต่ฉันไม่รู้ว่าฉันต้องทำอะไรอีก


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

4
จะไปที่ไฟล์เฉพาะใน Chrome Developer Tools ได้อย่างไร
ฉันกำลังพัฒนาเว็บแอปพลิเคชันด้วยแนวทางส่วนหน้าที่หนักหน่วง ด้วยการใช้ Dojo และ AMD-way ขณะนี้ฉันมีหน้าจอทดสอบซึ่งอาจโหลดไฟล์ javascript ได้มากกว่าร้อยไฟล์ เมื่อฉันต้องการแก้ไขข้อบกพร่องสำหรับปัญหาใด ๆ หรือตรวจสอบว่าฉันเห็นไฟล์เวอร์ชันเก่าหรือไม่ฉันพบว่ามันยากมากที่จะหาไฟล์ของฉันในแท็บแหล่งที่มาในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome มีทางลัดหรือการดำเนินการใดที่ฉันสามารถทำได้ที่จะให้ฉันพิมพ์ชื่อไฟล์และจะพาฉันไปยังแหล่งที่มาของไฟล์นั้น

10
NUnit ไม่ได้เรียกใช้โค้ด Visual Studio 2010
ฉันพยายามโหลด Visual Studio 2010 beta dll ลงใน NUnit GUI ฉันได้รับข้อผิดพลาดป๊อปอัป แอสเซมบลีนี้สร้างขึ้นโดยรันไทม์ที่ใหม่กว่ารันไทม์ที่โหลดในปัจจุบันและไม่สามารถโหลดได้ คุณอาจกำลังพยายามโหลดแอสเซมบลีบิลด์ด้วย CLR เวอร์ชันที่ใหม่กว่ากว่าเวอร์ชันที่ NUnit กำลังทำงานอยู่ ฉันจะบังคับให้ปฏิบัติการทำงานภายใต้. NET 4 ได้อย่างไร

11
ฉันควรใช้ Perl เวอร์ชันใดบน Windows [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ win32.perl.orgเว็บไซต์ให้อ้างอิงถึงการกระจาย Perl หลาย MS Windows เป็นเวลานานฉันได้ใช้ ActivePerl จาก ActiveStateแต่เมื่อเร็ว ๆ นี้ผมเปลี่ยน สตรอเบอร์รี่ Perl IMHO ข้อได้เปรียบเพียงอย่างเดียวที่ Active Perl ยังคงมีอยู่เหนือ Strawberry Perl คือความจริงที่ว่ามันมาพร้อมกับ Perl Tk ซึ่งหมายความว่ามันง่ายต่อการติดตั้ง Devel :: ptkdbตัวแก้ไขจุดบกพร่องแบบกราฟิก นอกเหนือจากนั้นฉันคิดว่า Strawberry Perl มีข้อดีทั้งหมด

22
Eclipse - ดีบักเกอร์ไม่หยุดที่เบรกพอยต์
ฉันกำลังพยายามถ่ายภาพ JUnit ไม่สำเร็จ ในซอร์สโค้ดฉันได้กำหนดจุดพักไว้สองตำแหน่ง: 1) ในบรรทัดที่สมาชิกคงที่ถูกเริ่มต้น 2) บรรทัดแรกของกรณีทดสอบหนึ่ง ดีบักเกอร์หยุดในบรรทัดการเริ่มต้นฟิลด์แบบคงที่ แต่ไม่ได้หยุดในกรณีทดสอบ ไม่ว่าฉันจะตั้งค่าจุดพักไว้ที่ใดในกรณีทดสอบดีบักเกอร์ก็ไม่หยุดเพียงแค่นั้น ฉันทราบแน่นอนว่ามีการดำเนินการกรณีทดสอบเนื่องจากฉันเห็นข้อความบันทึกที่ฉันเพิ่มไว้ปรากฏในบันทึก ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ฉันใช้ Eclipse Galileo และ JUnit4 launcher

28
โปรแกรมจะขัดข้องเมื่อสร้างรุ่นเท่านั้น - จะแก้ไขข้อบกพร่องได้อย่างไร
ฉันมีปัญหาประเภท "Schroedinger's Cat" ที่นี่ - โปรแกรมของฉัน (จริงๆแล้วเป็นชุดทดสอบสำหรับโปรแกรมของฉัน แต่โปรแกรมของฉัน) ขัดข้อง แต่เฉพาะเมื่อสร้างในโหมดรีลีสและเมื่อเรียกใช้จากบรรทัดคำสั่งเท่านั้น . ด้วยการดีบักของมนุษย์ถ้ำ (เช่นข้อความ printf () ที่น่ารังเกียจทั่วทุกที่) ฉันได้กำหนดวิธีการทดสอบที่โค้ดขัดข้องแม้ว่าจะเกิดข้อผิดพลาดจริงในตัวทำลายบางตัวเนื่องจากข้อความติดตามล่าสุดที่ฉันเห็นอยู่ใน ผู้ทำลายล้างอื่น ๆ ที่ดำเนินการอย่างหมดจด เมื่อฉันพยายามเรียกใช้โปรแกรมนี้ภายใน Visual Studio มันไม่ผิดพลาด เช่นเดียวกันเมื่อเปิดตัวจาก WinDbg.exe ข้อขัดข้องจะเกิดขึ้นเมื่อเรียกใช้งานจากบรรทัดคำสั่งเท่านั้น สิ่งนี้เกิดขึ้นภายใต้ Windows Vista btw และน่าเสียดายที่ฉันไม่สามารถเข้าถึงเครื่อง XP ได้ในขณะนี้เพื่อทดสอบ มันจะดีมากถ้าฉันสามารถให้ Windows พิมพ์สแต็กแทร็กหรืออย่างอื่นที่ไม่ใช่แค่การยุติโปรแกรมราวกับว่ามันออกอย่างหมดจด ใครมีคำแนะนำเกี่ยวกับวิธีการรับข้อมูลที่มีความหมายเพิ่มเติมที่นี่และหวังว่าจะแก้ไขข้อบกพร่องนี้ได้หรือไม่? แก้ไข: ปัญหาเกิดจากอาร์เรย์นอกขอบเขตซึ่งฉันอธิบายเพิ่มเติมในโพสต์นี้ ขอบคุณทุกคนสำหรับความช่วยเหลือในการค้นหาปัญหานี้!
98 c++  debugging 

5
ดีบักแอ็พพลิเคชัน java โดยไม่เริ่ม JVM ด้วยอาร์กิวเมนต์ดีบัก
โดยปกติในการแนบดีบักเกอร์กับ jvm ที่รันอยู่คุณจะต้องเริ่ม jvm ด้วยอาร์กิวเมนต์ดังต่อไปนี้: > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n ตอนนี้ถ้าฉันต้องการดีบักกระบวนการที่ไม่ได้เริ่มในโหมดดีบักฉันจะทำอย่างไร? สถานการณ์นี้เกิดขึ้นเมื่อระบบการผลิต (เช่นเริ่มต้นโดยไม่มีอาร์กิวเมนต์ดีบัก) แสดงข้อผิดพลาด 'สุ่ม' (ฉันใช้คำว่าหลวม ๆ ) ดังนั้นฉันจึงไม่สามารถรีสตาร์ท jvm ด้วยอาร์กิวเมนต์ที่เหมาะสมได้เพราะไม่มีใครรู้วิธีสร้างจุดบกพร่องอีกครั้ง เป็นไปไม่ได้ที่จะแนบ JVM ในสถานการณ์นี้หรือไม่? เพียงเพื่อชี้แจงว่าเป็นไปไม่ได้ที่จะใช้เครื่องมือเช่น jdb เพื่อแนบกับ JVM ที่รันอยู่แล้วเว้นแต่จะเริ่มต้นในโหมดดีบัก จากหน้า JVM man อีกวิธีในการใช้ jdb คือการเชื่อมต่อกับ Java VM ที่กำลังทำงานอยู่ VM ที่จะดีบักด้วย jdb ต้องเริ่มต้นด้วยตัวเลือกต่อไปนี้:

11
ฉันจะดีบักสคริปต์. BAT ได้อย่างไร
มีวิธีผ่านสคริปต์. bat หรือไม่? สิ่งนี้คือฉันมีสคริปต์สร้างซึ่งเรียกสคริปต์อื่น ๆ มากมายและฉันต้องการดูว่าลำดับที่เรียกว่าอะไรเพื่อที่ฉันจะได้รู้ว่าฉันต้องไปที่ไหนและเพิ่มการแก้ไขของฉัน .

7
ฉันจะหาข้อยกเว้นใน C ++ ได้อย่างไร
ฉันมีโปรแกรมที่แสดงข้อยกเว้นที่ไม่ถูกจับได้ที่ไหนสักแห่ง สิ่งที่ฉันได้รับคือรายงานว่ามีการโยนข้อยกเว้นและไม่มีข้อมูลว่ามีการโยนทิ้งไปที่ใด ดูเหมือนว่าไม่มีเหตุผลสำหรับโปรแกรมที่คอมไพล์มีสัญลักษณ์การดีบักที่จะไม่แจ้งให้ฉันทราบว่ามีการสร้างข้อยกเว้นในโค้ดของฉันที่ใด มีวิธีใดบ้างที่จะบอกได้ว่าข้อยกเว้นของฉันมาจากการไม่ตั้งค่า 'catch throw' ใน gdb และเรียก backtrace สำหรับข้อยกเว้นการโยนทุกครั้ง

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