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

ใช้แท็กนี้สำหรับปัญหาที่เกี่ยวข้องหรือเกี่ยวข้องกับ GDB ซึ่งเป็นดีบักเกอร์มาตรฐานสำหรับระบบซอฟต์แวร์ GNU

5
คำสั่งหลายคำสั่งใน gdb คั่นด้วยตัวคั่นบางตัว ';'?
ฉันพยายามรันสองคำสั่งพร้อมกันใน gdb: finish; next ฉันลองใช้ ';' เพื่อแยกคำสั่ง แต่ gdb ไม่ให้ฉันทำทั้งสองอย่างพร้อมกัน เป็นไปได้ไหมที่จะทำหลาย ๆ คำสั่งใน gdb คล้ายกับคำสั่ง bash โดยคั่นด้วย ';' คั่น?
144 debugging  gdb 

1
ก้าวออกจากฟังก์ชั่นปัจจุบันด้วย GDB
ผู้ที่ใช้ Visual Studio จะคุ้นเคยกับShift+ F11 ฮอตคีย์ซึ่งก้าวออกจากฟังก์ชั่นซึ่งหมายความว่ามันจะยังคงทำงานของฟังก์ชั่นปัจจุบันต่อไปจนกว่ามันจะกลับไปที่ผู้โทร ณ จุดที่มันหยุด GDB มีความเท่าเทียมกันหรือไม่?
144 gdb 


12
คำสั่งที่มีประโยชน์ / มีประโยชน์มากที่สุดสำหรับ gdb ดีบักเกอร์ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา คุณสามารถโพสต์คำสั่งที่มีประโยชน์และมีประโยชน์ที่สุดของคุณในขณะที่คุณเรียกใช้ดีบักเกอร์เช่น gdb หรือ dbx
138 c  unix  gdb  debugging  dbx 

12
gdb ล้มเหลวด้วยข้อผิดพลาด“ ไม่พบพอร์ตงาน Mach สำหรับ process-id” ข้อผิดพลาด
แอปของฉันทำงานได้ดี แต่ gdb ไม่สามารถดีบักได้ด้วยข้อผิดพลาดต่อไปนี้ (gdb) run Starting program: /path/to/app Unable to find Mach task port for process-id 83767: (os/kern) failure (0x5). ฉันใช้ OS X Lion รุ่น GDB คือ $ gdb --version GNU gdb 6.3.50-20050815 (Apple version gdb-1752) (Sat Jan 28 03:02:46 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB …
138 macos  gdb 

11
รับ GDB เพื่อบันทึกรายการเบรกพอยต์
ตกลงการแบ่งข้อมูลจะแสดงรายการเบรกพอยต์ แต่ไม่ใช่ในรูปแบบที่ใช้ได้ดีกับการนำกลับมาใช้ใหม่โดยใช้ - คำสั่งเหมือนในคำถามนี้ GDB มีวิธีการทิ้งลงในไฟล์ที่ยอมรับสำหรับการป้อนข้อมูลอีกครั้งหรือไม่ บางครั้งในเซสชันการดีบักจำเป็นต้องรีสตาร์ท GDB หลังจากสร้างชุดเบรกพอยต์สำหรับการทดสอบ ไฟล์. gdbinit มีปัญหาเหมือนกับ --command ข้อมูลแบ่งคำสั่งไม่ได้แสดงรายการคำสั่ง แต่เป็นโต๊ะสำหรับมนุษย์บริโภค ในการอธิบายอย่างละเอียดนี่คือตัวอย่างจากตัวแบ่งข้อมูล : (gdb) ตัวแบ่งข้อมูล Num Type Disp Enb Address คืออะไร 1 เบรกพอยต์ให้ y 0x08048517 <foo :: bar (โมฆะ) +7>
129 c++  c  debugging  gdb  breakpoints 

5
GDB เสียหาย stack frame - จะแก้จุดบกพร่องได้อย่างไร?
ฉันมีการติดตามสแต็กต่อไปนี้ เป็นไปได้ไหมที่จะทำสิ่งที่เป็นประโยชน์จากสิ่งนี้สำหรับการดีบัก? Program received signal SIGSEGV, Segmentation fault. 0x00000002 in ?? () (gdb) bt #0 0x00000002 in ?? () #1 0x00000001 in ?? () #2 0xbffff284 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) จะเริ่มดูโค้ดได้ที่ไหนเมื่อเราได้รับ a Segmentation faultและ stack trace ไม่มีประโยชน์? หมายเหตุ: หากฉันโพสต์รหัสผู้เชี่ยวชาญ SO …
113 c  recursion  gdb 

9
gdb แยกมุมมองด้วยรหัส
ฉันเพิ่งดีบักโปรแกรมใน gdb และฉันก็พบคุณสมบัติใหม่ที่ฉันไม่เคยเห็นหรือเคยได้ยินมาก่อนมุมมองแยกที่ฉันสามารถดูและเรียกดูโค้ดได้นอกเหนือจากการให้คำสั่ง: นี่คืออะไร? ฉันทำอะไรหรือโดยเฉพาะอย่างยิ่งฉันจะได้รับโหมดแยกหน้าจอนี้อีกครั้งได้อย่างไร มีชื่อสำหรับโหมดนี้หรือไม่หรือสามารถอ่านวิธีใช้งานได้จากที่ไหน
111 gdb 


10
“ โปรดตรวจสอบว่า gdb is codeigned - ดูที่ taskgated (8)” - จะติดตั้ง gdb ด้วยการลงนามรหัส homebrew ได้อย่างไร?
ฉันใช้ osx 10.8.4 และได้ติดตั้ง gdb 7.5.1 ด้วย homebrew (แรงจูงใจในการรับ gdb ใหม่พร้อมคุณสมบัติใหม่เช่น - พร้อม - python ฯลฯ ... ) เรื่องสั้นสั้นเมื่อฉันเรียกใช้ debug ภายในโครงการ c ++ Eclipse ฉันได้รับ: Error in final launch sequence Failed to execute MI command: -exec-run Error message from debugger back end: Unable to find Mach task port for process-id …
109 c++  eclipse  macos  gdb  homebrew 

12
GDB หายไปใน OS X v10.9 (Mavericks)
ฉันไปใช้ GDB ใน OS X v10.9 (Mavericks) แต่ก็ไม่มี มันหายไปไหน? # /usr/lib/gdb -bash: /usr/bin/gdb: No such file or directory # gdb -bash: gdb: command not found ฉันยังเปิดตัว Xcode 5.0.1: ค่ากำหนด> ดาวน์โหลด .. และไม่มีเครื่องมือบรรทัดคำสั่งอีกต่อไป - ffs!
108 xcode  macos  gdb 

2
GCC -g vs -g3 ค่าสถานะ GDB: ความแตกต่างคืออะไร?
เมื่อคอมไพล์ซอร์สโค้ด C ด้วย gcc หรือ Clang ฉันจะใช้-gแฟล็กเพื่อสร้างข้อมูลการดีบักสำหรับ gdb เสมอ gcc -g -o helloworld helloworld.c ฉันสังเกตเห็นว่ามีบางคนแนะนำ-g3แทน ความแตกต่างระหว่างแฟล็ก-gและ-g3แฟล็กคืออะไร? นอกจากนี้ยังมีความแตกต่างระหว่าง-gและ-ggdb?
108 c  debugging  gcc  gdb  clang 

6
ตั้งค่าเบรกพอยต์ในโค้ด C หรือ C ++ โดยทางโปรแกรมสำหรับ gdb บน Linux
ฉันจะตั้งค่าเบรกพอยต์ในโค้ด C หรือ C ++ โดยทางโปรแกรมที่จะทำงานกับ gdb บน Linux ได้อย่างไร ได้แก่ : int main(int argc, char** argv) { /* set breakpoint here! */ int a = 3; a++; /* In gdb> print a; expect result to be 3 */ return 0; }
107 c++  c  linux  gdb 

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

7
พิมพ์ Gdb ไปยังไฟล์แทน stdout
ฉันใช้ gdb และต้องการตรวจสอบวัตถุเทพเจ้าที่โชคร้ายเหล่านั้น ต้องใช้เวลาหลายหน้า (และฉันมีจอภาพขนาด 24 นิ้วที่หันไปด้านข้าง!) เพื่อดูสิ่งทั้งหมดเพื่อความสะดวกในการใช้งานฉันต้องการให้ gdb พิมพ์วัตถุลงในไฟล์แทนที่จะเป็นหน้าจอเพื่อที่ฉันจะได้เปิดใน vi และเคลื่อนที่ไปมาได้อย่างสะดวกด้วยความเก่งกาจของ gdb ต้องมีวิธีทำใช่ไหม?
105 redirect  printing  gdb 

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