Funciones de biblioteca Vue
A diferencia de los programas escritos en C o en FORTRAN, o en un lenguaje nativo, los scripts escritos en Vue no tienen acceso a las subrutinas proporcionadas por las bibliotecas del sistema AIX® o cualquier biblioteca de usuario. Sin embargo, Vue soporta su propia biblioteca interna especial de funciones útiles para programas de rastreo dinámico.
- Funciones específicas de rastreo
- función_get
- Devuelve el nombre de la función que encierra el analizador actual. Cuando se llama a la función get_function desde la cláusula interval, systrace, BEGIN y END, la función devuelve una serie vacía.
- timestamp
- Devuelve la indicación de fecha y hora actual.
- hora_diff
- Busca la diferencia entre dos indicaciones de fecha y hora en microsegundos o milisegundos.
- Funciones de captura de rastreo
- printf
- Formatea e imprime valores de variables y expresiones.
- rastreo
- Imprime datos sin formateo.
- rastreo de pila
- Formatea e imprime el rastreo de pila.
- Funciones de lista
- list de
- Crea una instancia de una variable de lista.
- adición
- Añade un nuevo elemento a la lista.
- suma, máx, mín, prom, recuento
- Funciones de agregación que se pueden aplicar a una variable de lista.
- C-funciones de biblioteca
- Atoi, strstr
- Funciones de serie estándar.
- Funciones para dar soporte al rastreo provisional
- start_tentative, fin_tentative
- Indicadores para el inicio y el final del rastreo provisional.
- commit_tentative, descard_tentative
- Confirma o descarta datos de rastreo provisionales.
- Funciones varias
- salida
- Termina el script Vue .
- get_userstring
- Lee la serie (o los datos) de la memoria del usuario.
- ptree
- Imprime el árbol de proceso del proceso sondeado.
Puede aplicar las funciones de serie Vue sólo en variables de tipo serie y no en una variable de puntero. Las funciones de serie estándar como strcpy, strcat, etc. no son necesarias en Vue, porque están soportadas a través de la propia sintaxis del lenguaje.
El compilador ProbeVue valida los tipos de datos de los parámetros pasados a las funciones Vue .
Para la función printf , la validación se realiza para comprobar si hay un argumento proporcionado en la función printf para cada especificador de formato proporcionado en la serie de formato. El número total de especificadores de formato y el número total de argumentos pasados a la función printf deben ser iguales. Además de esto, la validación también se realiza para que coincida si el tipo de argumento pasado es compatible con el tipo real mencionado como especificador de formato en la serie de formato. Si estas comprobaciones fallan, Probevue emite un mensaje de error.
printf(“hello world %s, %d\n”, str);arrojaría un mensaje de error del compilador ya que no se pasa ningún argumento para %d. Del mismo modo,Printf(“The total count of elements is %d\n”, str);también emite un mensaje de error porque el formato especificado es %d mientras que el argumento pasado, la variable str es una serie.Funciones de otras características
printf (“The total count of elements is %lld\n”, i);Donde i es una variable de tipo int, no se emite ningún mensaje de error porque la variable i es un tipo compatible para el especificador de formato solicitado. Por lo tanto, no se realiza ninguna comprobación de tipo exacta; sin embargo, la comprobación de tipo compatible es.No puede colocar funciones en la sección de predicado de una cláusula Vue .