我正在閱讀Apache httpd源代碼,我想知道什麼時候發出請求,哪個函數首先被調用,然後是哪個函數,等等,是否有一些簡單的方法可以這樣做?如何打印c中函數的調用順序?
喜歡的東西
Waiting client connection... # a client send a HTTP request
client.c:accept_request() is called
client.c:handle_request() is called
asdf.c:func1() is called
fdsa.c:func2() is called
response.c:send_response() is called
Waiting client connection...
EHH?不是C代碼嗎? (你是這樣標記的),AFAIK,C是面向流程的... –
請澄清一下:你想在運行時打印調用堆棧嗎?這在標準C中是不可能的。 –
對於Linux,有['backtrace()'](http://man7.org/linux/man-pages/man3/backtrace.3.html)。有意義輸出的符號。 –