2014-10-01 92 views
1

我想記錄調試器中調用堆棧的深度。例如,如果我調用一個深度爲7的方法,我想打印「7」。打印深度調用堆棧

有沒有辦法像Objective-C這樣的語言來做到這一點?

回答

2

這裏是你如何做到這一點:

NSLog(@"%d stack frames", (int)[NSThread callStackReturnAddresses].count); 

然而,這似乎是一個可疑的事情要做。更新您的問題,提供更多關於您正在嘗試調試的詳細信息,我們可能會爲您提供更好的幫助。

+0

似乎沒有工作:錯誤:(29,61)屬性'callStackReturnAddresses'找不到'NSThread *'類型的對象 – 2014-10-01 17:24:07

+0

[NSThread callStackReturnAddresses] .count然而,正是我正在尋找。感謝Rob。 – 2014-10-01 17:26:17

+0

我糾正了我的答案。 – 2014-10-01 18:05:44