Tôi đang sử dụng trình kiểm tra heap của google để theo dõi rò rỉ bộ nhớ. Nó cho tôi một dấu vết ngăn xếp như:Cách sử dụng GDB để tìm địa chỉ bộ nhớ nào tương ứng với
Leak of 21 bytes in 1 objects allocated from:
@ 0xf6088241
@ 0xf60890d2
@ 0xf6089246
@ 0x8054781
@ 0x8054862
@ 0xf684ee76
@ 0xf684f343
@ 0x804be4c
@ 0x80544f6
@ 0xf5e52bb6
@ 0x804b101
Làm cách nào để xác định những chức năng/dòng mã nào địa chỉ bộ nhớ tương ứng với?
Tôi ngạc nhiên khi trình kiểm tra heap của Google không thực hiện chuyển đổi này cho bạn. Bạn có chắc là bạn đã biên dịch bằng "-g" không? (Ngoài ra, hãy xem [lệnh addr2line] (http://sourceware.org/binutils/docs/binutils/addr2line.html)) – Nemo
Bất kỳ câu hỏi kiểu biểu tượng nào: http://stackoverflow.com/questions/762628/ gdb-getting-a-symbol-name-from-a-memory-address –