-
gdb - Có thể xóa bí danh gdb mà không cần khởi động lại gdb không?
Giả sử tôi xác định một lệnh gdb mới bao gồm các bí danh. nhập gdb nhập lớp chuỗi PrettyPrintString (gdb.Command):
-
gdb - Sử dụng các điều kiện gdb (if, while) để kiểm tra xem lệnh (gdb) có thành công không
Có thể sử dụng các điều kiện if hoặc while của gdb để kiểm tra xem lệnh gdb có thành công hay không (thay vì truy vấn các giá trị hoặc biến của chương trình)? Bây giờ để cho rõ ràng, tôi đang nói về các lệnh dựng sẵn của gdb (tức là những lệnh xuất hiện khi bạn nhập trợ giúp trong gdb
-
gdb - lệnh tiếp theo trong gdb không hoạt động bình thường
Tôi chỉ sử dụng gdb để duyệt qua từng dòng mã để hiểu cách nó hoạt động và nó đang làm gì. Lần đầu tiên tôi làm điều này thì nó hoạt động tốt, nhưng bây giờ lệnh tiếp theo không hoạt động. Đôi khi nó tiến tới, đôi khi nó lùi lại. Điều này không có ý nghĩa. Nó dường như đều giống nhau mỗi lần tôi làm điều này. Xuống
-
gdb - Làm cách nào để chạy gdb trên một tệp thực thi có đối số?
Làm cách nào tôi có thể chạy một cái gì đó như gdb -e path/to/exe -ex 'run --argnamae argvalue'? Giả sử có một phiên bản gfb gần đây trong vòng một hoặc hai năm qua. Gdb chạy và in
-
gdb - Truyền lệnh tới gdb khi chạy chương trình
Tôi đang sử dụng gdb để gỡ lỗi một chương trình và tôi muốn đầu ra của lệnh $(perl -e 'print "A"x20') làm đối số của mình. Làm thế nào tôi có thể làm điều này? Bằng cách này, lập luận sẽ rất linh hoạt. Câu trả lời hay nhất Bạn có thể sử dụng lệnh chạy,
-
gdb - Một số tính năng tiện lợi dường như bị thiếu trong gdb
Tôi đang sử dụng gdb phiên bản 7.5.1 trên linux và đã thử sử dụng một chức năng tiện lợi như $_memeq chỉ để thấy rằng nó dường như không tồn tại: Lệnh không xác định: "$_memeq".
-
gdb - Làm cách nào để cung cấp các ký hiệu từ nhị phân chưa được giải mã sang gdb?
Tôi có: Đang chạy nhị phân bị tước gdp Nhị phân chưa được gỡ bỏ Tôi có thể kết nối với việc chạy nhị phân bị tước (gdp -p PID). Làm cách nào tôi có thể cung cấp các ký hiệu từ tệp nhị phân chưa được giải mã cho gdb được kết nối với quy trình đang chạy? câu trả lời hay nhất
-
GDB: Cách xóa biến khỏi hiển thị tự động
Tôi tình cờ phát hiện ra tính năng tự động hiển thị của gdb, tính năng này rất mạnh mẽ và tiện lợi. Sau khi gọi (gdb) display/i $pc (gdb) display $rax, giá trị được theo dõi sẽ tự động được hiển thị sau mỗi bước: (gdb) si 0x
-
gdb - Làm cách nào để GDB biết tệp thực thi đã được di chuyển đến đâu?
Tôi biết rằng các hệ điều hành hiện đại như Linux không phải lúc nào cũng thực thi các ứng dụng tại cùng địa chỉ nơi ứng dụng được liên kết ban đầu. Tuy nhiên, khi trình gỡ lỗi bắt đầu tìm kiếm xung quanh, nó cần biết mối quan hệ giữa địa chỉ liên kết ban đầu và địa chỉ thực thi cuối cùng. GDB tính toán bù đắp như thế nào? Làm rõ: Tôi không
-
gdb: Cách liệt kê các tệp đang mở
Tôi đang tự hỏi liệu có thể lấy danh sách các tệp/thư mục mà ứng dụng đã gỡ lỗi đã mở nhưng chưa đóng từ chính GDB không? Hiện tại, tôi đặt điểm dừng rồi sử dụng chương trình bên ngoài như lsof để kiểm tra các tệp đang mở. Nhưng cách tiếp cận này thực sự gây phiền nhiễu. Môi trường: Debia
-
gdb - In nhiều biến bằng một lệnh trong GDB
Tôi muốn thực thi lệnh rất đơn giản print var1, var2, var3, var4 trong gdb để thỉnh thoảng kiểm tra giá trị của các biến. Tôi không muốn sử dụng màn hình vì nó sẽ làm rối Chế độ xem của tôi. Làm thế nào tôi có thể làm điều này? Tất cả những gì tôi có thể làm bây giờ là
-
gdb có thể in các biến cụ thể trên mỗi ngắt không?
Câu hỏi này đã có câu trả lời: gdb scripting: thực thi các lệnh tại điểm dừng đã chọn (1 câu trả lời) Đã đóng 8 năm trước. Tôi cần kiểm tra một biến để xác định xem nó có
-
gdb lấy mã thoát của chương trình đích như thế nào?
Từ dòng lệnh, tôi biết rằng việc sử dụng echo $? sẽ mang lại cho tôi mã thoát. Trong gdb, tôi sử dụng "r" để chạy chương trình và chương trình kết thúc, vậy gdb lấy mã thoát này như thế nào? Có lệnh nào trong gdb không? Cảm ơn bạn! Câu trả lời hay nhất Khi chương trình kết thúc, gd
-
gdb - Làm cách nào để truy nguyên bằng gdb khi gdb không thể xác định kích thước của khung ngăn xếp?
Tôi đã chạm vào lõi và không thể lấy lại dấu vết từ nó. Tôi có hai câu hỏi. Tôi có thể tìm ra dòng nào gây ra sự cố hoặc xảy ra sự cố ở đâu khi liệt kê đầu ra lệnh không? Còn không thì phải xử lý thế nào. Tôi nên đặt heuristic-fence-post thành gì để có được
-
gdb Cách tìm giá trị của tất cả các thanh ghi từ tất cả các khung trong ngăn xếp
Thêm điểm dừng trong quá trình gỡ lỗi và chạy bt để xem khung ngăn xếp. Khi bạn chọn một khung thông qua thanh ghi thông tin chạy, bạn có thể thấy giá trị thanh ghi trên một khung cụ thể. Ví dụ: hãy xem xét việc đặt điểm dừng ở khung 5. Khi đạt đến điểm ngắt, hãy nhập khung 3 và bạn có thể thấy giá trị thanh ghi. Đặt trong khung 5
-
gdb - gdb nhận ra việc in các cấu trúc như thế nào?
gdb in một cấu trúc như thế nào? Từ tài liệu "GDB Internals" được zengr tham chiếu về cách gdb hoạt động? Có vẻ như GDB sử dụng thư viện BFD để tải các ký hiệu từ một hoặc nhiều bảng ký hiệu. Nếu đúng như vậy thì làm sao gdb biết được?
-
gdb - lệnh tiếp theo trong gdb không hoạt động bình thường
Tôi chỉ sử dụng gdb để duyệt qua từng dòng mã để hiểu cách nó hoạt động và nó đang làm gì. Lần đầu tiên tôi làm điều này thì nó hoạt động tốt, nhưng bây giờ lệnh tiếp theo không hoạt động. Đôi khi nó tiến tới, đôi khi nó lùi lại. Điều này không có ý nghĩa. Nó dường như đều giống nhau mỗi lần tôi làm điều này. Xuống
-
gdb - Tại sao địa chỉ của các hàm khác nhau khi sử dụng gdb break và gdb print?
Khi tôi thực thi lệnh sau, tôi nhận được địa chỉ function() (gdb) break function() function() breakpoint 1 khác tại 0x804834a. (gdb) hàm in() hàm() 0x8
-
c - GDB bị kẹt tại "Định cấu hình GDB Hủy cấu hình GDB"
Tôi đã cài đặt (OSX Mojave 10.14.6.) Eclipse CDT và plugin GNU MCU Eclipse và cuối cùng là Công cụ GNU cho ARM. Mục tiêu của tôi là sử dụng GDB (
-
gdb - Làm cách nào để gỡ lỗi một tệp cụ thể bằng gdb?
Tôi phải cpp các tệp (chính và hàm) rồi yêu cầu họ xây dựng một tệp exe (mã) và hai tệp đối tượng (main.o và hàm.o). Cách gỡ lỗi một tệp cụ thể từ dòng lệnh gdb"
Tôi là một lập trình viên xuất sắc, rất giỏi!