2012-02-14 18 views

Respuesta

52
  1. Ejecute su aplicación en Xcode.
  2. Presione ⌘^Y (Depurar -> Pausa).
  3. Vaya a la consola del depurador: ⌘⇧C
  4. Escriba breakpoint set -r . -s <PRODUCT_NAME> (inserte el nombre de su aplicación).

LLDB responderá con algo como ...

Breakpoint 1: 4345 locations 

Ahora basta con pulsar el botón Continuar.

breakpoint set es el comando de lldb para crear puntos de interrupción. La ubicación se especifica utilizando una expresión regular (-r) en nombres de función/método, en este caso . que coincide con cualquier método. La opción -s se usa para limitar el alcance a su ejecutable (necesario para excluir marcos).

Cuando ejecuta su aplicación, lldb ahora se romperá cada vez que la aplicación acceda a una función desde su ejecutable principal.

Para desactivar los puntos de interrupción, escriba breakpoint delete 1 (inserte el número de punto de interrupción adecuado).

+0

Gracias por la explicación detallada. Intenté mostrar una lista de los puntos de interrupción y funcionó, pero ¿cómo establecer puntos de interrupción en todos los métodos con lldb? –

+1

Es el punto tres de la descripción anterior: si su aplicación se llama "MyFooApp", escriba 'breakpoint set -r. -s MyFooApp' en la consola del depurador. –

+0

Gracias, es trabajo ahora (fue un error mío - cometí un error al ingresar el nombre del proyecto :) lo siento). Muchas gracias, ¡es genial! –

12

En algunos casos, es más conveniente establecer puntos de interrupción solo en algunos de los métodos.

Usando LLDB podemos poner punto de interrupción en todos los métodos de ViewDidLoad por nombre, por ejemplo.

(lldb) breakpoint set -n ViewDidLoad 

Aquí "-n" significa por nombre.

Además, podemos poner puntos de interrupción por el nombre del selector:

(lldb) breakpoint set -S alignLeftEdges: 

aquí "-S" medio por el selector.

0

Hay muchas posibilidades, pero no hay forma de establecer puntos de interrupción solo para sus funciones.Usted puede tratar de:

breakpoint set -r '\[ClassName .*\]$'

para añadir puntos de interrupción para todos los métodos de la clase

breakpoint set -f file.m -p ' *- *\('

para añadir puntos de interrupción para todos los métodos en el archivo

También se puede utilizar con muchos archivos :

breakpoint set -f file1.m -f file2.m -p ' *- *\('

Atajo:

br se -f file1.m -f file2.m -p ' *- *\('

Usted puede agregar puntos de interrupción para todos los métodos en todas las clases con algún prefijo (y me podría sólo sus clases)

br se -r . -s Prefix

Esta línea (wzbozon respuesta):

breakpoint set -n viewDidLoad

establecerá puntos de interrupción en todos los métodos viewDidLoad en todas las clases.

Lo intenté pero no pude establecer puntos de interrupción solo por nuestros propios métodos.

Cuestiones relacionadas