LLDB中断选择器不再适用于非调试符号

时间:2014-10-30 19:52:29

标签: objective-c selector breakpoints lldb

在研究不同的程序时,我经常使用LLDB的break set -S命令打破常见的选择器,例如" init"和" drawInRect:"。但是,自更新LLDB以来,这不再适用于没有调试符号的选择器。

例如,在LLDB 320.4.124.10中:

(lldb) br s -S drawAtPoint:withAttributes:
Breakpoint 1: where = AppKit`-[NSString(NSStringDrawing) drawAtPoint:withAttributes:], address = 0x000000010b9be060

但在LLDB 320.4.152中:

(lldb) br s -S drawAtPoint:withAttributes:
Breakpoint 1: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.

假设它是一个记录不完整的功能(旨在阻止用户调试不需要的选择器?)而不是错误,我如何在这些选择器上设置断点?

1 个答案:

答案 0 :(得分:2)

这只是一个错误,请与http://bugreport.apple.com/一起提交报告。

如果正确编写正则表达式,则可以使用正则表达式断点(break set -r)获得相同的效果。