OS X如何实现backtrace()?

时间:2015-01-15 00:41:33

标签: macos system backtrace

有谁知道我在哪里可以找到实现OS X backtrace()版本的代码?我知道它可能位于libSystem.B.dylib内的某个地方,所以我应该从Apple's read-only open-source repository获取该模块的源代码,但是我应该从哪里开始查找?

2 个答案:

答案 0 :(得分:5)

实际上,大部分内容都在Libc。特别是,backtrace()定义为here。但是,这主要只是内部函数_thread_stack_pcs()的一个薄包装,它被定义为here

找到这类东西的最简单方法可能是谷歌。例如,搜索"backtrace" site:opensource.apple.com会引导您使用旧版本的Libc。然后,您可以从http://opensource.apple.com的顶部开始查找在给定版本的操作系统中使用的版本。

答案 1 :(得分:1)