Tôi đã thử chạy valgrind (memcheck và massif) trên một ứng dụng tôi đã viết, nhưng tất cả tôi nhận được trở lại là địa chỉ cho các chức năng được thực thi.Valgrind sẽ không trả lại dòng nguồn!
---------------------------------
Context accounted for 0.6% of measured spacetime
0x805F29A: (within prog_name)
0x8141740: (within prog_name)
Called from:
0.6% : 0x812E077: (within prog_name)
---------------------------------
Context accounted for 0.5% of measured spacetime
0x805F29A: (within prog_name)
0x81418FB: (within prog_name)
Called from:
0.5% : 0x812E077: (within prog_name)
tôi biên soạn ứng dụng của tôi với cờ -g để đưa những biểu tượng gỡ lỗi trong. Có bất kỳ lý do khác khiến valgrind sẽ không hiển thị dòng nguồn?
CHỈNH SỬA: phiên bản valgrind 3.2.1-Debian; g ++ 4.3.1
Không chắc, nhưng nếu bạn 'gdb prog_name' ứng dụng của bạn và thử một cái gì đó như' break 0x812E077', không 'gdb' hiển thị số dòng? (Bạn không cần phải chạy chương trình 'chạy', chỉ cần' gdb' tải nó.) – aschepler
@aschepler - Đã thử nó. Bất cứ khi nào tôi cố gắng làm điều đó, gdb không thể tìm thấy hàm có tên "0x812E077" và hỏi xem nó có nằm trong thư viện mà nó sẽ tải sau này ... do đó không hoạt động. –
Rất tiếc, đó phải là 'break * 0x812E077'. Nhưng vui vì bạn tìm thấy một sửa chữa. – aschepler