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

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

18
ฉันจะดีบัก javascript บน Android ได้อย่างไร
ฉันกำลังทำงานในโครงการที่เกี่ยวข้องกับ Raphaeljs ปรากฎว่าใช้งานไม่ได้บน Android มันทำบน iPhone ฉันจะแก้จุดบกพร่องในเบราว์เซอร์ Android อย่างไร มันคือ WebKit ดังนั้นถ้าฉันรู้เวอร์ชันจะทำการดีบั๊กมันในเวอร์ชันเต็มของ WebKit ที่ให้ผลลัพธ์เหมือนกันหรือไม่

8
ความแตกต่างด้านประสิทธิภาพระหว่างการดีบั๊กและการปล่อยบิลด์
ฉันต้องยอมรับว่าโดยปกติฉันไม่ได้ใส่ใจกับการสลับระหว่างการกำหนดค่าDebugและReleaseในโปรแกรมของฉันและฉันมักจะเลือกที่จะไปใช้การกำหนดค่าDebugแม้ว่าโปรแกรมจะถูกปรับใช้จริงที่ลูกค้า เท่าที่ฉันทราบความแตกต่างเพียงอย่างเดียวระหว่างการกำหนดค่าเหล่านี้หากคุณไม่เปลี่ยนแปลงด้วยตนเองคือDebugมีDEBUGค่าคงที่ที่กำหนดไว้และReleaseจะมีการตรวจสอบรหัสเพิ่มประสิทธิภาพของ ดังนั้นคำถามของฉันเป็นสองเท่าจริง: มีความแตกต่างด้านประสิทธิภาพอย่างมากระหว่างการกำหนดค่าทั้งสองนี้หรือไม่ มีรหัสประเภทใดที่จะทำให้ประสิทธิภาพแตกต่างกันมากที่นี่หรือที่จริงไม่สำคัญ มีรหัสประเภทใดบ้างที่จะทำงานได้ดีภายใต้การกำหนดค่าDebugที่อาจล้มเหลวภายใต้การกำหนดค่าการปล่อยหรือคุณสามารถแน่ใจได้ว่ารหัสที่ผ่านการทดสอบและทำงานได้ดีภายใต้การกำหนดค่าDebugจะทำงานได้ดีภายใต้

15
ดีบักเกอร์ที่เหมือน Firebug สำหรับ Google Chrome
มีอะไรอย่างเช่น Firebug ที่คุณสามารถใช้ใน Google Chrome ได้บ้าง? คุณสมบัติที่สำคัญที่ฉันต้องการ: ตรวจสอบแหล่งที่มา HTML (องค์ประกอบที่เลือกลบพวกเขา ฯลฯ ) ตรวจสอบค่า CSS (วิธีแก้ปัญหาในตัวแปลก, อย่างใด)

10
#if RELEASE จะทำงานเหมือน #if DEBUG ใน C # หรือไม่
ในตัวอย่างทั้งหมดที่ฉันเห็นเกี่ยวกับคำสั่งคอมไพเลอร์ # หากใช้คำสั่ง "DEBUG" ฉันสามารถใช้ "RELEASE" ในวิธีเดียวกันกับการแยกรหัสที่ฉันไม่ต้องการให้ทำงานเมื่อคอมไพล์ในโหมดดีบั๊กหรือไม่? รหัสที่ฉันต้องการล้อมรอบด้วยบล็อกนี้จะส่งอีเมลจำนวนมากและฉันไม่ต้องการส่งออกโดยไม่ตั้งใจเมื่อทำการทดสอบ
277 c#  .net  debugging 


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

5
ฉันจะตรวจสอบระบบไฟล์ของ "docker build" ที่ล้มเหลวได้อย่างไร
ฉันกำลังพยายามสร้างอิมเมจ Docker ใหม่สำหรับกระบวนการพัฒนาของเราโดยใช้cpanmเพื่อติดตั้งโมดูล Perl จำนวนมากเป็นอิมเมจพื้นฐานสำหรับโครงการต่างๆ ขณะพัฒนา Dockerfile cpanmส่งคืนรหัสความล้มเหลวเนื่องจากบางโมดูลไม่ได้ติดตั้งอย่างสมบูรณ์ ฉันค่อนข้างแน่ใจว่าฉันต้องaptติดตั้งบางอย่างเพิ่มเติม คำถามของฉันคือฉันจะหาได/.cpanm/workเร็กตอรี่ที่ยกมาในเอาท์พุทได้จากที่ไหนเพื่อตรวจสอบบันทึก? ในกรณีทั่วไปฉันจะตรวจสอบระบบไฟล์ของdocker buildคำสั่งที่ล้มเหลวได้อย่างไร? เช้าแก้ไขหลังจากกัดกระสุนและทำงานfindฉันพบ /var/lib/docker/aufs/diff/3afa404e[...]/.cpanm สิ่งนี้น่าเชื่อถือหรือไม่หรือฉันควรสร้างที่เก็บ "เปล่า" และเรียกใช้ข้อมูลด้วยตนเองจนกว่าฉันจะมีทุกสิ่งที่ฉันต้องการ
272 debugging  docker  cpanm 

11
วิธีการแก้จุดบกพร่องล็อคเกินเวลารอล็อคบน MySQL?
ในบันทึกข้อผิดพลาดการผลิตของฉันฉันเห็นเป็นครั้งคราว: SQLSTATE [HY000]: ข้อผิดพลาดทั่วไป: เกินกำหนดเวลารอการล็อค 1205; ลองรีสตาร์ทธุรกรรม ฉันรู้ว่าแบบสอบถามใดพยายามเข้าถึงฐานข้อมูลในขณะนั้น แต่มีวิธีค้นหาว่าแบบสอบถามใดมีการล็อกในช่วงเวลาที่แม่นยำหรือไม่



5
ฉันจะดูคำขอ HTTP ทั้งหมดที่ส่งโดยแอปพลิเคชัน Python ของฉันได้อย่างไร
ในกรณีของฉันฉันใช้requestsห้องสมุดเพื่อโทรหา API ของ PayPal ผ่าน HTTPS น่าเสียดายที่ฉันได้รับข้อผิดพลาดจาก PayPal และฝ่ายสนับสนุนของ PayPal ไม่สามารถระบุได้ว่าเกิดข้อผิดพลาดหรือเกิดจากสาเหตุใด พวกเขาต้องการให้ฉัน "โปรดส่งคำขอทั้งหมดรวมส่วนหัว" ฉันจะทำสิ่งนั้นได้อย่างไร

5
JavaScript: มีวิธีที่จะทำให้ Chrome หยุดข้อผิดพลาดทั้งหมดหรือไม่
ฉันกำลังมองหาสิ่งที่เทียบเท่าใน Chrome เพื่อฟังก์ชั่น "หยุดข้อผิดพลาดทั้งหมด" ของ Firebug ในแท็บสคริปต์ Chrome มี "หยุดชั่วคราวทุกข้อยกเว้น" แต่นี่ก็ไม่เหมือนกับการทำลายข้อผิดพลาดทั้งหมด ยกตัวอย่างเช่นเมื่อโหลดหน้าเว็บที่มีรหัสต่อไปนี้ผมอยากจะทำลาย Chrome foo.bar = 42บนเส้น แม้ว่าจะเปิดใช้งาน "หยุดชั่วคราวในทุกข้อยกเว้น" แต่ฉันไม่ได้รับผลลัพธ์ตามที่คาดหวัง <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script type="text/javascript"> function doError() { foo.bar = 42; } window.onload = function() { try { doError(); } catch …


6
การดีบักแบบรีโมตสำหรับแอ็พพลิเคชัน Java
ฉันมีจาวาแอปพลิเคชันที่ทำงานบนเครื่องลินุกซ์ ฉันรันแอปพลิเคชัน java โดยใช้สิ่งต่อไปนี้: java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n ฉันได้เปิดพอร์ต 4000 สำหรับ TCP บนเครื่อง Linux นี้ ฉันใช้ eclipse จากเครื่อง Windows XP และลองเชื่อมต่อกับแอปพลิเคชันนี้ ฉันได้เปิดพอร์ตใน windows ด้วย เครื่องทั้งสองอยู่บน LAN แต่ฉันไม่สามารถเชื่อมต่อดีบักเกอร์กับแอปพลิเคชัน Java ได้ ผมทำอะไรผิดหรือเปล่า?

5
วิธีทำให้คอนโซล Google Chrome JavaScript คงอยู่อย่างถาวร
เนื่องจากฉันกำลังสร้างเว็บไซต์แบบไดนามิกฉันต้องติดตามการเปลี่ยนแปลงระหว่างหน้าเช่น อาแจ็กซ์โทรโพสต์รับสิ่งและสิ่งที่คล้ายกัน ฉันกำลังมองหาฟังก์ชั่นแบบเดียวกับใน Firebug (ซึ่งคุณสามารถเปิดใช้งาน "ถาวร" และคอนโซลจะไม่ถูกล้างออกทุกครั้งที่คุณโหลดหน้าใหม่หรือส่งแบบฟอร์ม ดังนั้นคำถามของฉันคือ: มีวิธีทำให้คอนโซล Google Chrome JavaScript แบบถาวรหรือไม่ (และถ้าใช่เป็นอย่างไร) อัปเดต : คัดลอกคำตอบที่นี่หากใครยังคงมองหา Chrome 14+ มีการตั้งค่าในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์> การตั้งค่าที่มีป้ายกำกับ "คอนโซล: เก็บบันทึกการนำทางไว้" อัปเดต 2 : Chrome เวอร์ชันล่าสุด (33+) มีตัวเลือกนี้โดยการคลิกขวาในคอนโซล อัปเดต 3 (ปลายปี 2017): Chrome รุ่นล่าสุด (60+) มีตัวเลือกนี้โดยเปิดคอนโซลคลิกที่เฟืองที่มุมบนขวาและเลือก "เก็บบันทึก"

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