静态库的mach-o文件中的__debug_str在编译的时候内部会记录源码地址,社区大佬有没有人知道,怎么在重新使用静态库的时候 改变 源码地址的指向…
如果只是为了让 Xcode 能找到源码调试,可以把一份与静态库对应的源码放置到与 __debug_str 记录相符目录(刻意构造),想要直接修改 __debug_str 的话一般只能在保证字符串长度不变的条件下去修改那个字符串,因为长度变化可能会影响后续段的偏移量。
我目前用的就是刻意构造 但是今天发现一个 奇怪的现象 我静态库macho文件没有__debug_str 这个section也能成功 是不是还有其他的section标识源码位置啊
应该是没有的,除非你当前的 workspace 里有静态库的 Target,否则没有 __debug_str 应该是映射不到源码的。
动态库呢?
一样的,只要 workspace 里有 Cocoa Touch Framework 并且包含源码,其他直接依赖这个 Target 的就都能源码调试了。
谢谢你了
在 build Settings 里面搜索 Generate Debug Symbols 设置为No,可以将 __debug_str 字段都给去掉。
你知道怎么修改 __TEXT, __sstring 中内部的源码地址吗