【发布时间】:2011-06-03 17:21:04
【问题描述】:
使用 valgrind 运行 iOS 4.2 应用程序时遇到问题。
我从 Macports 安装了 valgrind 3.6.0-SVN。 XCode 3.2.5。
当我修改 main() 以运行 valgrind 时,我得到以下输出:
检测到尝试调用 iPhone 上不存在的系统库中的符号: 从映像 vgpreload_core-x86-darwin.so 中的函数 _vgrZU_libSystemZdZaZddylib_arc4random 调用的 open$UNIX2003。 如果您在 gdb 中运行模拟器二进制文件时遇到此问题,请确保首先“设置 start-with-shell off”。 ==99640== ==99640== 进程以信号 6 (SIGABRT) 的默认操作终止 ==99640== 在 0x8B5DEF6:__kill(在 /usr/lib/libSystem.B.dylib 中) ==99640== by 0x8BF062C: raise (in /usr/lib/libSystem.B.dylib) ==99640== by 0x8C066E3: abort (in /usr/lib/libSystem.B.dylib) ==99640== by 0x33F2547: __springboard_unimplemented (在/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/libSystem.dylib) ==99640== by 0x33FC208: open$UNIX2003 (在/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/libSystem.dylib) ==99640== by 0x1AAD6F3: arc4random (vg_preloaded.c:163) ==99640== 由 0x8AFFB7E:create_scalable_zone(在 /usr/lib/libSystem.B.dylib 中) ==99640== 由 0x8AFF7EA:_malloc_initialize(在 /usr/lib/libSystem.B.dylib 中) ==99640== 0x8B23449:malloc_create_zone(在 /usr/lib/libSystem.B.dylib 中) ==99640== 0x8B233F8:_dispatch_ccache_init(在 /usr/lib/libSystem.B.dylib 中) ==99640== 由 0x8B21E0D:dispatch_once_f(在 /usr/lib/libSystem.B.dylib 中) ==99640== 0x8B233D3:_dispatch_continuation_alloc_from_heap(在 /usr/lib/libSystem.B.dylib 中)错误似乎很明显。我怎样才能解决这个问题?我听说在 SDK 3.x 上运行 valgrind 的成功尝试。发生了什么变化?
还有其他建议吗?
【问题讨论】:
-
我遇到了同样的问题。不过还没有解决方案。
标签: objective-c debugging ios valgrind