pthread_mutex_unlock_drop因中止而崩溃

时间:2016-05-26 22:40:49

标签: c multithreading pthreads

我正在尝试调试项目中的中止崩溃。堆栈跟踪(在Mac OS X上)如下:

  

线程[25] EXC_CRASH(SIGABRT)(0x0000000000000000,   0x0000000000000000)[0] 0x00007fff8d439f06 __pthread_kill + 10 [1]   0x00007fff86b504eb libsystem_pthread.dylib'pthread_kill + 89 [2]   0x00007fff9833d6e7 abort + 129 [3] 0x00007fff86b51320   libsystem_pthread.dylib'__ pthread_abort + 48 [4] 0x00007fff86b513d4   libsystem_pthread.dylib'__ pthread_abort_reason + 179 [5]   0x00007fff86b4ddf0 libsystem_pthread.dylib'_pthread_mutex_unlock_drop   + 160 [6] 0x000000010a0b3624 AppName'TinyThreadObj :: mutex :: unlock()+ 20 at tinythread.h:292 [7] 0x000000010a0b35fc AppName'TinyThreadObj :: lock_guard<   TinyThreadObj :: mutex> :: ~lock_guard()+ 44 at tinythread.h:433 [8]   0x000000010a0acd24   AppName :: lock_guard :: ~lock_guard()+ 20 at   tinythread.h:430 [9] 0x000000010a0955a7 AppName`FunctionName1(void *)   ClassName1.cpp上的+ 4519:2387

如何调试它以查看互斥锁可能无效。它似乎不应该只看代码。但是我无法在调试器中生成它。这是mac os x libpthread lib。

0 个答案:

没有答案