[编辑:这是一个已确认的iOS模拟器错误。出现在5.0中,保留在5.1中。请参阅下面我自己的答案中的链接]。
伙计们。这是我的第一个问题。我真的很失落。。。
我在iOS中使用AudioQueue播放声音时遇到了一些问题。当我使用AudioQueueNewOutput创建AudioQueue时,我得到了EXC_BAD_ACCESS。它似乎发生在一些音频线程中(Xcode显示线程4)。
AudioQueue是这样创建的:
AudioQueueNewOutput(&desc, audioQueueCallback, this, CFRunLoopGetCurrent(),
kCFRunLoopDefaultMode, 0, &audioQueue);
(desc包含iOS规范播放格式)。
这就是编辑器显示的内容:
AudioToolbox`PowerMeter::PowerMeter():
0x16ee92: pushl %ebp
0x16ee93: movl %esp, %ebp
0x16ee95: movl 8(%ebp), %eax
0x16ee98: movb $0, (%eax)
0x16ee9b: movl $0, 8(%eax)
0x16eea2: movl $0, 4(%eax)
0x16eea9: movl $1064866676, 24(%eax)
0x16eeb0: movl $3161095930, 20(%eax)
0x16eeb7: movl $1066426957, 40(%eax)
0x16eebe: movl $3539053052, 36(%eax)
0x16eec5: movl $0, 92(%eax)
0x16eecc: movl $0, 88(%eax)
0x16eed3: movl $0, 108(%eax)
0x16eeda: movl $0, 104(%eax)
0x16eee1: movl $0, 100(%eax)
0x16eee8: movl $0, 96(%eax)
0x16eeef: pxor %xmm0, %xmm0
0x16eef3: movaps %xmm0, 64(%eax)
0x16eef7: movl $0, 60(%eax)
0x16eefe: movl $0, 56(%eax)
0x16ef05: movb $0, 52(%eax)
0x16ef09: movb $0, 53(%eax)
0x16ef0d: movl $0, 48(%eax)
0x16ef14: movl $0, 80(%eax)
0x16ef1b: movl $4294967295, 44(%eax)
0x16ef22: movl $0, 84(%eax)
0x16ef29: popl %ebp
0x16ef2a: ret
0x16ef2b: nop
0x16ef2c: nop
0x16ef2d: nop
0x16ef2e: nop
0x16ef2f: nop
Xcode 4.3.1
iOS模拟器5.1
Mac OS X Lion 10.7.3
我真的很感激你的帮助。有什么想法吗?
我在设备上运行应用程序时没有遇到这个问题。所以我一直在研究,它实际上是一个模拟器错误。这里的更多信息:这个gdb输出意味着什么?