2014-04-19 22 views
1

有沒有辦法讓gprof生成的調用圖顯示函數的調用順序?如果我有main() - > study() - > sleep() - > wakeup()和main() - > wakeup() - > study() - > sleep(),則生成的調用圖實際上顯示了這種執行順序的差異。如何以執行順序獲得gprof調用圖

基本上,我試圖比較兩個C文件,以便找出它們的函數的執行順序是否有所不同。有沒有更好的方法來做到這一點?

感謝

+0

拿@amdn建議。人們認爲可憐的小gprof可以創造奇蹟。它所做的只是在函數之間進行計數調用,對程序計數器進行採樣,並進行一些數學計算。 –

回答

1

如果你是在Linux上,你可以在爲Linux提供高效的跟蹤工具嘗試示蹤劑像LTTng

https://lttng.org/ 

的LTTng項目的目的。其跟蹤器可幫助跟蹤性能問題並調試涉及多個併發進程和線程的問題。追蹤多個系統也是可能的。