2009-02-26 25 views
28

Có cách nào để chuyển sang lắp ráp khi gỡ lỗi chương trình C hoặc C++ trong gdb không? (Cho rằng tất cả các tập tin nguồn và các tập tin lắp ráp tương ứng đều có sẵn)Chuyển sang lắp ráp trong gdb

Trả lời

20

Có cách nào để tháo rời một chức năng hoặc một phần mã nhất định, đó là những gì bạn đang làm sau?

Lệnh để làm như vậy sẽ là disassemble <function name> hoặc vị trí bộ nhớ.

Đây có phải là những gì bạn đang đề cập đến không?

(gdb) help disassemble 
Disassemble a specified section of memory. 
Default is the function surrounding the pc of the selected frame. 
With a single argument, the function surrounding that address is dumped. 
Two arguments are taken as a range of memory to dump. 
4

Sử dụng lệnh disas có thể sẽ làm những gì bạn muốn.

Theo sự giúp đỡ nội bộ, disas lệnh nào sau đây:

Disassemble a specified section of memory. 
Default is the function surrounding the pc of the selected frame. 
With a single argument, the function surrounding that address is dumped. 
Two arguments are taken as a range of memory to dump. 
10

Trong phiên bản mới gdb 7.0, lệnh disassemble có thể mất một cuộc tranh luận mới /m mà làm cho nó phát ra nguồn trộn và tháo gỡ.

55

Bạn có thể chuyển sang bố trí asm trong gdb:

(gdb) layout asm 

Xem here để biết thêm thông tin.