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

2
ฉันจะปิด GDB TUI ได้อย่างไร
ฉันมี GDB TUI / เลย์เอาต์นี้อยู่ ฉันจะกลับไปที่มุมมอง GDB เริ่มต้นได้อย่างไร ฉันไม่สามารถรีสตาร์ท GDB เพียงเพราะฉันมี backtrace ที่สำคัญในมือของฉันและตราบใดที่ฉันมีหน้าต่างพิเศษเหล่านี้ฉันไม่สามารถเลื่อนดูได้ดีในมุมมองพื้นฐาน
19 gdb 

3
ทำไมฉันไม่สามารถหา termcap ไลบรารี่เมื่อฉันสร้าง gdb?
make แล้วล้มเหลวด้วย: ตั้งค่าคอนฟิก: ข้อผิดพลาด: ไม่พบไลบรารี termcapแต่มี termcap lib อยู่ที่นั่นทำไมจึงหาไม่พบ checking for library containing zlibVersion... -lz checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for library containing dlgetmodinfo... no checking for iconv... yes checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t …
10 centos  make  build  gdb  autotools 

5
วิธีการถ่ายโอนข้อมูลหน่วยความจำไปยังไฟล์ใน gdb (osx)? จำเป็นต้องช่วยชีวิตงานของฉัน
ฉันต้องรู้ว่าฉันสามารถถ่ายโอนข้อมูลหน่วยความจำใน Safari.app ไปยังไฟล์ได้อย่างไร ฉันป้อน gdb แนบ 6741 (PID ของฉันซาฟารี) ตอนนี้คืออะไร ฉันพยายามค้นหาความช่วยเหลือเกี่ยวกับ gdb บน google แต่ฉันไม่พบสิ่งใดที่บอกฉันว่าต้องทำอย่างไรแม้จะค้นหา "วิธีการถ่ายโอนข้อมูลหน่วยความจำใน gdb" :( ฉันลอง "ช่วยถ่ายโอนข้อมูล" มันทำให้ฉันมีคำสั่งมากมาย แต่ก็ไม่มีใครทำงานได้ ฉันมาใกล้ที่สุดคือ: (gdb) dump memory ~/safaridump.bin 0 Missing stop address. ดังนั้นที่อยู่หยุดคืออะไร? ฉันไม่รู้ ฉันจะรู้ที่อยู่หยุดได้อย่างไร ฉันลองค้นหาคำว่า "" ที่อยู่หยุดที่ขาดหายไป "gdb" ใน google แต่ก็ไม่ได้ช่วยอะไร ฉันไม่รู้ว่าจะหาที่อยู่หยุดได้อย่างไร ฉันลองสิ่งนี้: (gdb) การถ่ายโอนข้อมูลหน่วยความจำ ~ / safaridump.bin 0 0xffffffff …
9 macos  gdb 

3
ใน GDB ฉันจะข้ามไปยังเฟรมสแต็คการโทรสูงสุดโดยตรงได้อย่างไร
ฉันมีโปรแกรม C ที่แยกส่วนข้อผิดพลาดหลังจากที่ลงลึกเข้าไปในระเบียบซ้ำซ้ำ การเคลื่อนย้ายกระบวนการใน GDB นั้นไร้ประโยชน์เนื่องจาก call stack frame มีความลึกอย่างน้อย 1,000 เฟรมและการเรียกฟังก์ชันซ้ำเป็นชุดของการเรียกฟังก์ชัน recursive ทั่วไปสี่ชุด (ดังนั้นจุดพักดูเหมือนจะไร้ประโยชน์) การเรียกซ้ำไปยัง backtrace เพียงแค่อ่านชื่อฟังก์ชั่นทั้งสี่ชื่อซ้ำแล้วซ้ำอีก มันเกิดขึ้นกับฉันว่าการทำ 'up' 'up' 'up' ... จะทำให้ฉันสูงขึ้นดังนั้นฉันจะได้เห็นว่ารูปแบบนี้เริ่มต้นเกิดขึ้นครั้งแรก แต่ดูเหมือนว่ามันจะมีประสิทธิภาพมากกว่าที่จะเริ่มต้นจากการโทรสูงสุด stack frame และ step down แทนเนื่องจากลางสังหรณ์ของฉันคือการเรียกซ้ำแบบไม่สิ้นสุดเริ่มต้นในกระบวนการ หาก call stack มี N frames ทั้งหมดฉันรู้ว่าฉันทำได้ gdb>> up N เพื่อไปที่ด้านบนของสแต็ค (เฟรม Nth) แต่ปัญหาคือฉันไม่รู้ N มีคำสั่งสำหรับการค้นหาจำนวนเฟรมทั้งหมดในสแต็กการโทรหรือไม่ หรือมีคำสั่ง GDB ในตัวที่ลื่นไหลสำหรับการกระโดดไปที่เฟรมสูงสุดหรือไม่? …
9 debug  c  gdb 

1
จะบอกให้ emacs gdb แสดงบรรทัดรหัสปัจจุบันที่กึ่งกลางบัฟเฟอร์ได้อย่างไร
การใช้ตัวดีบั๊กใน emacs นั้นดี: คุณสามารถก้าวผ่านโค้ดด้วยnextคำสั่งและ emacs จะแสดงบรรทัดโค้ดที่ถูกเรียกใช้ในปัจจุบันเช่นนี้: int x; int y; =>int z; แต่น่าเสียดายที่หากไฟล์ของคุณมีความยาวตัวชี้=>นั้นก็จะย้ายไปที่ด้านล่างและจะแสดงบรรทัดปัจจุบันที่ด้านล่างของบัฟเฟอร์ มันจะดีกว่าถ้าตัวชี้=>อยู่ตรงกลางของบัฟเฟอร์ (ตรงกลางแนวตั้ง) เพื่อที่ฉันจะได้เห็นว่าเกิดอะไรขึ้นหลังบรรทัดปัจจุบันก่อนที่ฉันจะพูดnextอีกครั้งเหมือนที่นี่: int y; =>int z; std::cout << z; เป็นไปได้ไหม ฉันจะตั้งที่ใดที่หนึ่งได้ไหม
3 emacs  cursor  buffer  gdb 

1
จะติดตั้งแพ็คเกจ gdb (หรืออื่น ๆ ) ที่เฉพาะเจาะจงโดยใช้ apt-cyg ใน Cygwin ได้อย่างไร?
ฉันกำลังพยายามติดตั้งgdbดีบักเกอร์เวอร์ชันใหม่บนของฉันcygwin(รุ่นที่มาพร้อมกับcygwinรถบั๊กกี้) เนื่องจากฉันต้องการเวอร์ชันใหม่ล่าสุดของgdbฉันจึงต้องใช้apt-cygเพื่อติดตั้ง เมื่อฉันเรียกใช้apt-cyg install gdb=7.12ฉันได้รับข้อความแสดงข้อผิดพลาด: Unable to locate package gdb=7.12. ฉันพยายาม7.12.1-1และ7.12.1แต่เป็นปัญหาเดียวกัน ไม่apt-cygรุ่นสนับสนุนการกำหนดเป้าหมาย
3 cygwin  apt-get  gdb 

1
แก้ไขข้อมูลแพคเกจสำหรับ centos
สวัสดีฉันได้รับสิ่งต่อไปนี้ในแต่ละขั้นตอนของคำสั่ง gdb ไม่มีใครรู้ว่าฉันต้องติดตั้งแพคเกจเพื่อลบข้อความนี้จากการสร้าง CentOS? ไม่มี debuginfos แยกใช้: debuginfo-install libtool-ltdl-2.2.6-15.5.5.el6.x86_64 CentOs เวอร์ชัน 6.5 Kernel build 2.6.32-431.1.2.0.1.el6.x86_64
1 linux  centos  gdb  debugger 

1
วิธีการแทนที่การตัดทอนใน gdb
เมื่อฉันพิมพ์ใน gdb โดยเรียกใช้: p cmd.c_str() ผลลัพธ์ถูกตัดเหลือ 200 อักขระ มีวิธีที่ฉันสามารถตั้งค่าเริ่มต้นการตัดทอนสิ่งที่สูงกว่าเช่น 1,000 ตัวอักษร?
1 unix  emacs  gdb 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.