Pregunta
Evgeny Shvarov · Abr 15, 2021

Macro para conocer todos los parámetros transferidos al método

¡Hola amigos!

A menudo, durante la depuración, quieres conocer los valores de todos los parámetros.

Utilizar VSCode Debugger no es una opción.

¿Qué se podría usar para saber qué parámetros vinieron al método?

¿Existe una macro "mágica" que almacene todas las variables con sus nombres en un global?

¿Alguna idea? ¡Gracias!

00
1 0 1 18
Log in or sign up to continue

Respuestas

@Julius Kavay  ha dado una muy buena alternativa.

En lugar de insertar debug_macros, prueba la utilidad TRACE de Intersystems.

write $$DIR^TRACE("c:\Temp\") ; to set an output directory
write $$ON^TRACE(jobnr) ; the pid of the process you want to trace
; zn "appNamespace"
; do ^yourProgram
; zn "%SYS"
write $$OFF^TRACE(jobnr) ; to stopp the trace
do ^TRACE ; to display the trace result

TRACE muestras las llamadas a métodos/funciones con argumentos.

Para hacer uso de ella, debéis de estar en el namespace %SYS... o podéis mapearla al namespace %ALL y así la podréis utilizar desde cualquier sitio. No aparece actualmente en la documentación oficial, pero podéis encontrar información de uso ejecutando do ^TRACE y en la propia rutina ^TRACE.int (podéis ver el código fuente completo desde el portal, el Studio, VS Code,...)