Tôi có câu hỏi sau đây và từ quan điểm hệ thống muốn biết cách đạt được điều này một cách dễ dàng và hiệu quả.C/C++ Câu hỏi về kỹ thuật lập trình theo dõi
Cho một tác vụ 'abc' đã được tạo bằng thông tin gỡ lỗi và biến toàn cục "TRACE" được đặt thành 0, tôi muốn in ra tệp 'đăng nhập' địa chỉ của mỗi hàm được gọi giữa thời gian TRACE được đặt thành 1 và ngược lại thành 0.
Tôi đã cân nhắc thực hiện thao tác này thông qua tác vụ tải trước/khởi động mà tôi muốn phát triển, xem hướng dẫn cho một kiểu nhảy chung/đẩy con trỏ khung, viết xuống địa chỉ và sau đó ánh xạ địa chỉ đến các tên hàm từ thông tin gỡ lỗi tượng trưng trong abc. Có thể có các cách mức hệ thống tốt hơn để thực hiện điều này mà không cần bộ nạp trước, và tôi không chắc điều gì là khả thi nhất.
Bất kỳ kỹ thuật được triển khai nào ngoài đó?
Profilers đã có thể làm điều đó cho bạn - thậm chí hiển thị tên hàm thay vì địa chỉ. Tại sao họ không làm việc cho bạn? – Dummy00001
Tại sao bạn quan tâm đến địa chỉ của hàm thay vì tên của nó? Ngoài ra nó rất hữu ích để biết những gì hệ điều hành và trình biên dịch bạn đang sử dụng. –
Tôi đang sử dụng gcc/CC/xlC trên HP/Sun/IBM. Tôi cuối cùng quan tâm đến tên của các chức năng; địa chỉ được dự định chỉ là trung gian và có thể không cần thiết. Cảm ơn. – BlueCollar