Tôi cần lấy thông tin được cung cấp bởi addr2line (tệp và dòng từ backtracing một cuộc gọi hàm) từ bên trong chương trình C++. Có một cuộc gọi thư viện tương tự như addr2line không?Có cuộc gọi thư viện nào tới addr2line không?
chỉnh sửa: Tôi đang làm việc trong môi trường Linux.
Tôi biết tôi có thể gọi trực tiếp addr2line và tôi biết rằng tôi có thể sử dụng source code của addr2line trong chương trình của mình (cũng được cấp phép GPL). Nhưng tôi đoán gọi một chức năng thư viện, nếu nó tồn tại, là sạch hơn.
chỉnh sửa: Tôi sẽ sử dụng bfd của các binutils, giống như addr2line. Bfd có nghĩa là gì?
libdwarf là nội dung bạn đang tìm kiếm –
Cảm ơn bạn đã đề xuất. Tôi đã thử dwarfdump và nó chỉ in nơi các hàm được khai báo, không phải nơi chúng được gọi. Tôi không thể tìm thấy một tài liệu phong nha mặc dù ... – steffen
'bfd' là http://en.wikipedia.org/wiki/Binary_File_Descriptor_library (mặc dù ban đầu nó đứng cho ý nghĩa khác của BFD :) – ecatmur