Tôi muốn sử dụng gprof để cấu hình một daemon. Daemon của tôi sử dụng thư viện của bên thứ 3, mà nó đăng ký một số cuộc gọi lại, sau đó gọi hàm main
, không bao giờ trả về. Tôi cần gọi kill
(hoặc SIGTERM hoặc SIGKILL) để chấm dứt daemon. Rất tiếc, trang hướng dẫn của gprof cho biết như sau:Lưu gmon.out trước khi giết một quá trình
Chương trình được định cấu hình phải gọi là "thoát" (2) hoặc trở lại bình thường để lưu vào thông tin hồ sơ gmon.out .
Có cách nào để lưu thông tin hồ sơ cho các quy trình bị giết bằng SIGTERM hoặc SIGKILL không?
Bạn cũng cần thêm một số cờ vào trình biên dịch và trình liên kết. Đối với g ++, bạn nên sử dụng: -Wl, - no-as-needed -ldl -pg. Nguồn: http://stackoverflow.com/questions/20369672/undefined-reference-to-dlsym – rkioji