2012-08-16 14 views
8

Estoy integrando MonoTouch en un proyecto Xcode, y quiero evitar que el depurador LLDB maneje las señales SIGBUS, ya que son utilizadas por el tiempo de ejecución mono. ¿Cómo puedo hacer eso?¿Cómo decirle al depurador de LLDB que no maneje SIGBUS?

+1

De acuerdo con http://stackoverflow.com/questions/10431579/permanently-configuring-lldb-in-xcode-4-3-2-not-to-stop-on-signals, "process handle SIGBUS -n cierto -p verdadero -s falso "debería hacer el truco. –

Respuesta

18

Puede controlar cómo lldb intercepta/pasa señales con el comando "procesar mango". Para su caso, usted quiere hacer

(lldb) pro hand -p true -s false SIGBUS 
NAME  PASS STOP NOTIFY 
========== ===== ===== ====== 
SIGBUS  true false true 

ahora las señales serán incluídos en su proceso sin LLDB en el camino. El campo "NOTIFICAR" indica si lldb debe imprimir que se recibió la señal; el valor predeterminado es que se imprimirá en la consola del depurador, pero eso no parece estar sucediendo en este momento. Pero la señal se transmite correctamente, que es la parte importante.

+3

¿Hay alguna manera de configurar esto en XCode? – ed22

+1

Agregue un punto de interrupción, p. en main() y luego en su acción breakpoint, agregue un comando LLDB con esta línea y luego marque la casilla de verificación "continue after breakpoint". – uliwitness

+1

Para hacer esto automáticamente en Xcode, agregue el comando a '~/.lldbinit-Xcode'. Si desea que esto se aplique incluso cuando usa 'lldb' desde la línea de comando, agregue lo mismo a' ~/.lldbinit' – Buzzy

Cuestiones relacionadas