2

私のiPhoneアプリはmallocにロックされます。Xcodeでボタンを押すpauseと、OSSpinLockLock $ VARIANT$mp関数で一時停止します。

#0  0x95dfbc2d in OSSpinLockLock$VARIANT$mp ()
#1  0x95dc2613 in szone_malloc_should_clear ()
#2  0x95dc366b in szone_malloc ()
#3  0x95df9962 in malloc_zone_malloc ()
#4  0x95dfa882 in malloc ()
#5  0x0219743a in operator new(unsigned long) ()

を押してからもう一度押すcontinueと、pause常に同じスタックトレースが表示されます。

4

1 に答える 1

2

他のスレッドを見てください。それらの1つは、malloc内でブロックされているか、無料である可能性があり、2つは互いにデッドロックされています。

これのやや一般的な原因は、シグナルハンドラー内にメモリを割り当てることです(これは絶対に行わないでください)。これは、システムにある種の「クラッシュキャッチャー」があり、ハンドラーの内部で複雑な操作を行う場合に特に見られます。

于 2013-03-10T17:45:11.297 に答える