2012-05-03 10 views
33

Estoy tratando de obtener LLDB (ejecutando en Xcode 4.3.2 con una aplicación OS X) para que no se detenga en ciertas señales. Si entroConfiguración permanente de LLDB (en Xcode 4.3.2) para no detenerse en las señales

process handle SIGUSR2 -n true -p true -s false

en la consola de depuración que funciona bien y LLDB ya no se detiene en SIGUSR2.

Sin embargo, si pongo

command process handle SIGUSR2 -n true -p true -s false

en ~/.lldbinit que parece ser ignorado. Otros comandos en este archivo (por ejemplo, alias) funcionan bien.

¿Cómo puedo hacer que LLDB nunca se detenga en ciertas señales?

+1

No creo que lo que quiere hacer es factible, sin un explícito El proceso es un concepto de tiempo de ejecución. Tal vez hay una configuración útil en la "lista de configuración" que puede establecer? – blueberryfields

+0

Gracias, eso explica por qué agregar el comando a ~/.lldbinit no funcionó :) – puzzle

Respuesta

44

En caso de que alguien más tenga esta pregunta, finalmente la resolví agregando un punto de interrupción en NSApplicationMain() (para los programas de C simple, main() también funcionaría).

Establecí la acción de punto de interrupción en process handle SIGUSR2 -n true -p true -s false y habilité la opción "Continuar automáticamente después de la evaluación".

Xcode 4 Breakpoint Screenshot

Si alguien tiene una solución más elegante, estaría feliz de escuchar.

+3

Genial, gracias. Funciona como un encanto en SIGPIPE también. – sehugg

+6

Por si acaso ... No olvides cambiar el símbolo a 'UIApplicationMain' para iOS. – user500

+0

Itworks para mí. pero después de que mi aplicación se congela. ¿Sería este el verdadero comportamiento? – jongbanaag

Cuestiones relacionadas