【发布时间】:2015-01-15 00:41:33
【问题描述】:
有谁知道我在哪里可以找到实现 OS X 版本 backtrace() 的代码?我知道它可能在libSystem.B.dylib 内部的某个地方,所以我应该从Apple's read-only open-source repository 获取该模块的源代码,但是我应该从哪里开始寻找呢?
【问题讨论】:
有谁知道我在哪里可以找到实现 OS X 版本 backtrace() 的代码?我知道它可能在libSystem.B.dylib 内部的某个地方,所以我应该从Apple's read-only open-source repository 获取该模块的源代码,但是我应该从哪里开始寻找呢?
【问题讨论】:
实际上,这些东西大部分都在Libc 中。特别是,backtrace() 定义为here。然而,这主要是对内部函数 _thread_stack_pcs() 的一个薄包装,它被定义为 here。
找到这类东西的最简单方法可能是谷歌。例如,搜索 "backtrace" site:opensource.apple.com 会将您带到旧版本的 Libc。然后,您可以从http://opensource.apple.com 的顶部开始查找在给定版本的操作系统中使用的版本。
【讨论】:
libc 在LibSystem 里面。去图吧!