คำถามติดแท็ก debug-symbols

8
#if DEBUG vs. Conditional (“ DEBUG”)
สิ่งที่ดีกว่าใช้และทำไมในโครงการขนาดใหญ่: #if DEBUG public void SetPrivateValue(int value) { ... } #endif หรือ [System.Diagnostics.Conditional("DEBUG")] public void SetPrivateValue(int value) { ... }


16
สัญลักษณ์การโหลด Visual Studio
ฉันกำลังทำงานในโครงการColdFusionชั่วขณะหนึ่งแล้ว Visual Studio ก็เริ่มมีพฤติกรรมแปลก ๆ สำหรับฉันอย่างน้อยที่สุด ฉันสังเกตว่าเมื่อฉันเริ่มต้นการดีบักมันสร้างโครงการมันเริ่มการปรับใช้และการปรับใช้เสร็จสิ้นและมันเริ่มโหลดสัญลักษณ์สำหรับโครงการของฉัน แต่มันช้ามากและฉันไม่รู้ว่าทำไมจึงเริ่มทำตามขั้นตอนนี้ ฉันจะทำอะไรได้บ้าง การโหลดสัญลักษณ์นี้จำเป็นหรือไม่? ฉันจะปิดการใช้งานได้อย่างไร ในกล่องเครื่องมือ -> ตัวเลือก -> การดีบั๊ก -> สัญลักษณ์ไม่มีการเพิ่มตำแหน่งไฟล์สัญลักษณ์ (.pdb) และฉันชี้ไปที่ไดเรกทอรีการดีบักของโครงการที่ฟิลด์ด้านล่างและฉันตรวจสอบช่องทำเครื่องหมาย "ค้นหาไดเรกทอรีด้านบนเฉพาะเมื่อสัญลักษณ์เป็น .... " ฉันจะตั้งค่ากล่องโต้ตอบนี้เพื่อปิดการโหลดสัญลักษณ์ได้อย่างไร ฉันดูในหน้าต่างโมดูลที่โหลดสัญลักษณ์ แต่มันไม่ได้บอกอะไรฉัน อะไรคือปัญหา?

9
การดีบัก Xcode 4.2 ไม่ได้เป็นสัญลักษณ์ของการโทรสแต็ก
ฉันมีปัญหากับการดีบัก Xcode 4.2 ในอุปกรณ์จำลอง / อุปกรณ์ iOS 5 รหัสต่อไปนี้ขัดข้องตามที่คาดไว้: NSArray *arr=[NSArray array]; [arr objectAtIndex:100]; ใน iOS 4 ฉันได้รับการติดตามสแต็คที่เป็นประโยชน์ของตัวเลขฐานสิบหก แต่ใน iOS 5 มันให้ฉัน: *** First throw call stack: (0x16b4052 0x1845d0a 0x16a0674 0x294c 0x6f89d6 0x6f98a6 0x708743 0x7091f8 0x7fcaa9 0x2257fa9 0x16881c5 0x15ed022 0x15eb90a 0x15eadb4 0x15eaccb 0x6f02a7 0x6faa93 0x2889 0x2805) ขอบคุณ
140 ios  xcode  debug-symbols 

4
ฉันควรคอมไพล์รุ่นที่มีข้อมูลการแก้ไขข้อบกพร่องเป็น "เต็ม" หรือ "เฉพาะ pdb"
ใน Visual Studio 2010 สำหรับโครงการ C # ถ้าคุณไปที่คุณสมบัติโครงการ> สร้าง> ขั้นสูง> ข้อมูลการดีบักคุณมีสามตัวเลือก: ไม่มีเต็มหรือเฉพาะ pdb จากคำตอบของคำถามนี้ฉันเชื่อว่าฉันเข้าใจความแตกต่างบางประการระหว่าง full และ pdb-only อย่างไรก็ตามแบบใดเหมาะสมกว่าสำหรับรุ่นรีลีส ถ้าฉันใช้ "เต็ม" จะมีการแบ่งประสิทธิภาพหรือไม่ ถ้าฉันใช้ "pdb-only" จะแก้ไขปัญหาการผลิตได้ยากขึ้นหรือไม่ "full" กับ "pdbonly" ต่างกันอย่างไร? https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/debug-compiler-option

2
คุณจะดึงข้อมูลตัวแปรโลคัล (ที่อยู่และประเภท) จากโปรแกรม Delphi หรือข้อมูลดีบักที่สร้างโดยคอมไพเลอร์ได้อย่างไร
เป้าหมายของฉันคือ: ให้เธรดที่ถูกระงับในโปรแกรม Windows 32 หรือ 64 บิตที่คอมไพล์เดลฟีเพื่อเดินสแต็ก (doable) กำหนดรายการสแต็กเพื่อแจกแจงตัวแปรโลคัลในแต่ละวิธีและค่าของตัวแปร นั่นคืออย่างน้อยที่สุดให้ค้นหาที่อยู่และประเภทของพวกเขา (จำนวนเต็ม 32/64 / ลงนาม / ไม่ได้ลงนาม, สตริง, ลอย, บันทึก, คลาส ... ) ชุดค่าผสมที่สามารถใช้เพื่อค้นหาค่าได้ ข้อแรกใช้ได้ดีและเป็นคำถามที่สองเกี่ยวกับคำถามนี้ ในระดับสูงคุณจะแจกแจงตัวแปรโลคัลจากรายการสแต็กใน Delphi ได้อย่างไร ในระดับต่ำนี่คือสิ่งที่ฉันกำลังตรวจสอบ: RTTI:ไม่แสดงรายการข้อมูลประเภทนี้เกี่ยวกับวิธีการ นี่ไม่ใช่สิ่งที่ฉันเคยคิดว่าเป็นตัวเลือกที่สมจริง แต่มีรายชื่ออยู่ที่นี่ ข้อมูลการดีบัก:กำลังโหลดข้อมูลการดีบักที่สร้างขึ้นสำหรับรุ่นดีบัก ไฟล์แผนที่: แม้แต่ไฟล์แผนที่โดยละเอียด (ไฟล์รูปแบบข้อความ! เปิดไฟล์หนึ่งแล้วดู) ไม่มีข้อมูลตัวแปรในเครื่อง โดยทั่วไปจะเป็นรายการที่อยู่และหมายเลขบรรทัดไฟล์ต้นฉบับ เหมาะสำหรับการระบุแอดเดรสกับไฟล์และความสัมพันธ์ของเส้นเช่นจุดสีน้ำเงินในรางน้ำ ไม่ดีสำหรับข้อมูลรายละเอียดเพิ่มเติม ข้อมูลการดีบักระยะไกล (ไฟล์ RSM) - ไม่มีข้อมูลที่ทราบเกี่ยวกับเนื้อหาหรือรูปแบบ ไฟล์ TD32 / TDS:สายงานวิจัยปัจจุบันของฉัน มีสัญลักษณ์ทั่วโลกและในท้องถิ่นท่ามกลางข้อมูลอื่น …


7
จะถอดฟังก์ชั่นเดียวโดยใช้ objdump ได้อย่างไร?
ฉันได้ติดตั้งไบนารีไว้ในระบบของฉันและต้องการดูการแยกชิ้นส่วนของฟังก์ชันที่กำหนด ควรใช้objdumpแต่วิธีแก้ปัญหาอื่น ๆ ก็ยอมรับได้เช่นกัน จากคำถามนี้ฉันได้เรียนรู้ว่าฉันอาจสามารถแยกส่วนของโค้ดออกได้หากฉันรู้เฉพาะที่อยู่ขอบเขตเท่านั้น จากคำตอบนี้ฉันได้เรียนรู้วิธีเปลี่ยนสัญลักษณ์การดีบักแบบแยกกลับเป็นไฟล์เดียว แต่ถึงแม้จะใช้งานกับไฟล์เดียวนั้นและแม้กระทั่งการแยกส่วนรหัสทั้งหมด (เช่นไม่มีที่อยู่เริ่มต้นหรือหยุด แต่เป็น-dพารามิเตอร์ธรรมดาถึงobjdump) ฉันก็ยังไม่เห็นสัญลักษณ์นั้นเลย ซึ่งสมเหตุสมผลตราบเท่าที่ฟังก์ชันที่เป็นปัญหาเป็นแบบคงที่ดังนั้นจึงไม่ถูกส่งออก อย่างไรก็ตามvalgrindจะรายงานชื่อฟังก์ชันดังนั้นจึงต้องจัดเก็บไว้ที่ใดที่หนึ่ง เมื่อดูรายละเอียดของส่วนการดีบักฉันพบชื่อนั้นที่กล่าวถึงใน.debug_strส่วนนี้ แต่ฉันไม่รู้จักเครื่องมือที่สามารถเปลี่ยนเป็นช่วงที่อยู่ได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.