XCode调试器在pthread中断

时间:2017-10-19 15:03:42

标签: c++ macos debugging pthreads xcode8

我正在使用XCode来调试用C ++ / Obj-C / C编写的程序。该程序集成了Civetweb,以便能够接受HTTP请求。 95%的时候,当我在调试模式下启动程序时,在第一个HTTP请求中,我执行XCode调试器停止并显示以下“代码片段”:

libsystem_kernel.dylib`__psynch_cvwait:
0xa1668304 <+0>:  movl   $0x131, %eax              ; imm = 0x131 
0xa1668309 <+5>:  calll  0xa166a408                ; _sysenter_trap
->  0xa166830e <+10>: jae    0xa166831e                ; <+26>
0xa1668310 <+12>: calll  0xa1668315                ; <+17>
0xa1668315 <+17>: popl   %edx
0xa1668316 <+18>: movl   0x58d5d0f(%edx), %edx
0xa166831c <+24>: jmpl   *%edx
0xa166831e <+26>: retl   
0xa166831f <+27>: nop    

调试器光标指向+10地址(箭头指向)。 如果我尝试让它继续,我可以看到该代码段在_pthread_cond_wait

之内
->  0x23ed080 <+647>: addl   $0x30, %esp

...如果我放开程序,我在日志中看到最后一个有意义的事件是我们的TCP连接接受器类中的抛出异常:

Can't Accept Software caused connection abort

这种情况经常发生,但并非总是如此:15次中有1次我能够成功启动该程序。我不能说这里发生了什么:Windows上的相同代码运行没有问题。你知道造成这种情况的原因吗?

0 个答案:

没有答案