Jef*_*eff 10 struct ios nsrange lldb
NSRange只是一个C结构.我想在断点处在Xcode中的lldb中创建一个临时的.
专门用于NSArray方法 objectAtIndex:inRange:
这不起作用.
(lldb) expr NSRange $tmpRange = (NSRange){0,4}
(lldb) expr $tmpRange
(NSRange) $tmpRange = location=0, length=4
(lldb) expr -o -- [items indexOfObject:item4 inRange:$tmpRange]
error: no matching constructor for initialization of 'NSRange' (aka '_NSRange')
error: 1 errors parsing expression
Run Code Online (Sandbox Code Playgroud)
我的代码有一个badRange在断点处命名的NSRange var ,并将其传递给了.从而:
(lldb) expr -o -- [items indexOfObject:item4 inRange:badRange]
0x7fffffffffffffff
(lldb) expr badRange
(NSRange) $1 = location=0, length=3
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?
谢谢.
在 OS X 项目中工作时,在调试器中创建 NSRange 工作正常,但不适用于 iOS 项目。它在 iOS 上不起作用的原因是,即使 Foundation 提供了声明该结构的头文件,它也没有公开任何相应的符号。基本上,在 iOS 上,NSRange 只是一个前向声明,我不知道实现的真正符号。
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |