Tôi có mã nguồn của bên thứ 3 mà tôi phải điều tra. Tôi muốn nhìn thấy những gì đặt các chức năng được gọi nhưng tôi không muốn lãng phí thời gian đánh máy của tôi:Tự động thêm Nhật ký Chức năng Nhập/Thoát cho một Dự án
printf("Entered into %s", __FUNCTION__)
và
printf("Exited from %s", __FUNCTION__)
cho mỗi chức năng, cũng không làm tôi muốn chạm vào bất cứ nguồn nào tập tin.
Bạn có bất cứ đề xuất nào không? Có một lá cờ trình biên dịch tự động thực hiện điều này cho tôi?
Làm rõ cho nhận xét:
- tôi sẽ chéo dịch chương trình nguồn để chạy nó trên ARM.
- Tôi sẽ biên dịch nó bằng gcc.
- Tôi không muốn phân tích mã tĩnh. Tôi muốn theo dõi thời gian chạy. Vì vậy, doxygen sẽ không làm cho cuộc sống của tôi dễ dàng hơn.
- Tôi có nguồn và tôi có thể biên dịch nó.
- Tôi không muốn sử dụng Lập trình hướng Aspect.
EDIT: Tôi thấy rằng lệnh 'khung' trong dấu nhắc gdb in khung hiện tại (hoặc, tên hàm, bạn có thể nói) tại thời điểm đó. Có lẽ, có thể (sử dụng các script gdb) để gọi lệnh 'frame' mỗi khi một hàm được gọi. Bạn nghĩ sao?
Môi trường nào? – t0mm13b
http://stackoverflow.com/questions/1173962/run-code-before-every-function-call-for-a-class-in-c/1174652 –
@bmm: Bạn có nguồn cho bên thứ ba không bạn thực sự có thể biên dịch? – t0mm13b