Estoy usando Xcode 4.3.2 con lldb como mi depurador.¿Cómo configuro un punto de corte simbólico en _WebThreadLockFromAnyThread en Xcode?
He heredado un proyecto que contiene código que está llamando UIKit de subprocesos secundarios, como se muestra por estos mensajes de registro:
2012-05-02 21: 48: 14.603 Appname Dev [77594: 16e0f] void _WebThreadLockFromAnyThread (bool), 0x8d5f810: Obtención del bloqueo web de un hilo que no sea el hilo principal o el hilo web. No se debe llamar a UIKit desde un subproceso secundario.
He limpiado la mayor parte del código que hacía llamadas a UIKit desde subprocesos secundarios, pero de vez en cuando veo este mensaje en los registros. La aplicación no está fallando, por lo que es difícil determinar dónde radica el problema.
me gustaría establecer un punto de interrupción en _WebThreadLockFromAnyThread
, pero cuando intento para establecer un punto de ruptura simbólica usando:
b _WebThreadLockFromAnyThread
el depurador me dice:
punto de interrupción conjunto --name ' _WebThreadLockFromAnyThread 'Punto de interrupción created: 12: name =' _WebThreadLockFromAnyThread ', locations = 0 (pendiente) ADVERTENCIA: No se puede resolver el punto de interrupción en ninguna ubicación real de .
También intenté crear el punto de corte simbólico usando la interfaz de usuario en el navegador de punto de interrupción, pero no estoy seguro de qué ingresar para el módulo. Cuando dejo el módulo en blanco, se crea el punto de interrupción pero aún no se rompe cuando aparece el mensaje de registro en la consola de depuración.
¿Alguien puede decirme cómo puedo agregar un punto de interrupción en _WebThreadLockFromAnyThread
, y también cómo determinaría qué es el módulo de definición para este símbolo?
¡Impresionante, muchas gracias! Terminé usando el siguiente comando similar que también establece una condición tal que solo se rompe si la función se llama fuera del hilo principal: 'break set -n WebThreadLockFromAnyThread -c '! (BOOL) [NSThread isMainThread]' ' – Greg