Inspeccionar objetos en puntos de comprobaciĆ³n
Objetivos de aprendizaje
- Configurar puntos de comprobaciĆ³n en el cĆ³digo Apex.
- Analizar los objetos de la memoria con Checkpoint Inspector.
Establecer puntos de comprobaciĆ³n en el cĆ³digo Apex
En el momento en el que su astronave empiece a emitir sonidos de error del sistema, debe ir directamente a los registros para identificar el problema y la ubicaciĆ³n en la que se ha producido.
De forma similar, cuando el cĆ³digo Apex genera errores, observa problemas de desempeƱo o no obtiene los resultados deseados, el primer paso es identificar el problema mediante el registro de depuraciĆ³n. Revisar todo el registro lĆnea por lĆnea es una tarea tediosa. Ā”Por eso los puntos de comprobaciĆ³n son tan Ćŗtiles! Los puntos de comprobaciĆ³n muestran instantĆ”neas de lo que ocurre en el cĆ³digo Apex en determinados puntos durante la ejecuciĆ³n.
Puede configurar hasta cinco puntos de comprobaciĆ³n en su cĆ³digo Apex. Los puntos de comprobaciĆ³n no estĆ”n disponibles para el marcado de Visualforce.
EmailMissionSpecialist
que creamos anteriormente.- Seleccione File (Archivo) | Open (Abrir) y abra la clase
EmailMissionSpecialist
. - Seleccione Debug (Depurar) | Change Log Levels (Cambiar niveles de registro).
- En la selecciĆ³n General Trace Settings for You (ConfiguraciĆ³n de seguimiento general para usted), haga clic en Add/Change (Agregar/Cambiar).
- Establezca el nivel de registro de
ApexCode
en FINEST (MĆ”xima precisiĆ³n).
Nota: Para establecer puntos de comprobaciĆ³n, necesita el permiso de usuario Ver todos los datos. Para generar resultados empleando puntos de comprobaciĆ³n, ejecute el cĆ³digo empleando la ejecuciĆ³n anĆ³nima o establezca un indicador de rastreo DEVELOPER_LOG sobre sĆ mismo. El indicador de rastreo debe tener un nivel de registro para Apex de INFO o superior. - Para guardar los cambios, haga clic en Done (Listo).
- Para salir del cuadro de diƔlogo Change Log Levels (Cambiar niveles de registro), haga clic en Done (Listo).
Cuando su cĆ³digo se muestra en el editor de cĆ³digo fuente, puede ver los nĆŗmeros de las lĆneas en la parte izquierda. Haga clic en el nĆŗmero de lĆnea para inspectResults(results);
. Se muestra un punto rojo (1), lo que indica que se ha creado un punto de comprobaciĆ³n.

Ahora, puede ejecutar su cĆ³digo y analizarlo en la ficha Checkpoints (Puntos de comprobaciĆ³n).
Ficha Checkpoints (Puntos de comprobaciĆ³n)
Puede ver exactamente dĆ³nde se produce un error de ejecuciĆ³n de su cĆ³digo y cuĆ”les son los valores de los objetos en ese punto mediante la ficha Checkpoints (Puntos de comprobaciĆ³n). Vamos a ejecutar el siguiente cĆ³digo para ver el punto de comprobaciĆ³n en acciĆ³n.
Seleccione Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecuciĆ³n anĆ³nima). Ingrese el siguiente cĆ³digo y ejecĆŗtelo. AsegĆŗrese de sustituir Enter your email address por su direcciĆ³n de email.
DespuĆ©s de ejecutar el cĆ³digo Apex correctamente, abra el registro de depuraciĆ³n y haga clic en la ficha Checkpoints (Puntos de comprobaciĆ³n) para ver los resultados.

- En la tabla Checkpoints (Puntos de comprobaciĆ³n) se muestran el espacio de nombres, la clase y el nĆŗmero de lĆnea de cada punto de comprobaciĆ³n. AdemĆ”s, se muestran la fecha y la hora de creaciĆ³n de cada punto de comprobaciĆ³n.
- En la tabla Checkpoint Locations (Ubicaciones de puntos de comprobaciĆ³n) se muestran el nombre de archivo, el nĆŗmero de lĆnea y las iteraciones capturadas por el punto de comprobaciĆ³n seleccionado.
Haga doble clic en un punto de comprobaciĆ³n en la tabla Checkpoints (Puntos de comprobaciĆ³n) para ver los resultados capturados en Checkpoint Inspector. Ā”Ahora empieza la diversiĆ³n!
Checkpoint Inspector
- Heap (Pila). Se muestran todos los objetos incluidos en la memoria en la lĆnea de cĆ³digo en la que se ejecuta el punto de comprobaciĆ³n.
- Symbols (SĆmbolos). Se muestran todos los sĆmbolos en la memoria en una vista de Ć”rbol.
Ficha Heap (Pila)
- Debajo de Types (Tipos), haga clic en
Messaging.SingleEmailMessage
. - Debajo de Instances (Instancias), haga clic en cualquier instancia de este tipo de objeto.
- Debajo de State (Estado), puede ver los campos del objeto y sus valores.

Ficha Symbols (SĆmbolos)
La ficha Symbols (SĆmbolos) permite revisar de forma rĆ”pida y fĆ”cil los estados de varios objetos en cualquier punto de comprobaciĆ³n. Los sĆmbolos son nombres Ćŗnicos que hacen referencia a objetos especĆficos. En esta ficha se muestran todos los sĆmbolos en la memoria en una vista de Ć”rbol.

- Para borrar los resultados del punto de comprobaciĆ³n de la ficha, seleccione Debug (Depurar) | Clear (Borrar) | Checkpoint Results Panel (Panel de resultados de punto de comprobaciĆ³n).
- Seleccione Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecuciĆ³n anĆ³nima).
- Vuelva a ejecutar la clase
EmailMissionSpecialist
, pero esta vez con una direcciĆ³n de email no vĆ”lida, como testingemail. - DespuĆ©s de ejecutar el cĆ³digo, haga clic en la ficha Checkpoints (Puntos de comprobaciĆ³n).
La ficha Checkpoints (Puntos de comprobaciĆ³n) no muestra ningĆŗn resultado porque la ejecuciĆ³n del cĆ³digo no ha llegado al nĆŗmero de lĆnea en la que ha establecido el punto de comprobaciĆ³n.

- Seleccione File (Archivo) | Open (Abrir) y abra la clase
EmailMissionSpecialist
. - Haga clic en el nĆŗmero de lĆnea en la parte izquierda para
String[] toAddresses = new String[] {address}
. - Seleccione Debug (Depurar) | Clear (Borrar ) | Checkpoint Results Panel (Panel de resultados de punto de comprobaciĆ³n).
- Seleccione Debug (Depurar) | Open Execute Anonymous Window (Abrir ventana de ejecuciĆ³n anĆ³nima).
- Vuelva a ejecutar la clase
EmailMissionSpecialist
con una direcciĆ³n de email no vĆ”lida, como testingemail. - Haga clic en la ficha Checkpoints (Puntos de comprobaciĆ³n).
VerĆ” una entrada nueva en la ficha Checkpoints (Puntos de comprobaciĆ³n). A continuaciĆ³n, puede analizar los objetos de la memoria con Checkpoint Inspector.
