Guía de seguimiento dinámico de Solaris

Opciones de las versiones

De forma predeterminada, cualquier programa en D que compile usando las opciones de la línea de comandos dtrace -s o especifique usando dtrace -P, -m, -f, -n o -i estará vinculado a la versión más reciente de la interfaz de programación en D ofrecida por el compilador D. Puede determinar la interfaz de programación en D actual usando la opción dtrace -V:


$ dtrace -V
dtrace: Sun D 1.0
$

Si desea establecer un enlace a una versión específica de la interfaz de programación en D, puede establecer la opción version en una cadena de versión pertinente. Al igual que otras opciones de DTrace (consulte el Capítulo 16Opciones y optimizables), puede establecer la opción de versión en la línea de comandos usando dtrace -x:


# dtrace -x version=1.0 -n 'BEGIN{trace("hello");}'

También puede usar la sintaxis #pragma D option para establecer la opción en el archivo de origen del programa escrito en D:

#pragma D option version=1.0

BEGIN
{
	trace("hello");
}

Si usa la sintaxis #pragma D option para solicitar un enlace de versión, debe colocar esta directiva en la parte superior del archivo de programa escrito en D antes de colocar cualquier otra declaración o cláusula de sondeo. Si el argumento de enlace de versión es una cadena de versión no válida o hace referencia a una versión no ofrecida por el compilador D, se mostrará un mensaje de error y la compilación fallará. Por lo tanto, puede usar la utilidad de enlaces de versión para provocar que la ejecución de una secuencia de comandos en D en una versión antigua de DTrace falle con un mensaje de error obvio.

Antes de compilar las declaraciones y las cláusulas, el compilador D carga el conjunto de tipos, las funciones, las constantes y los traductores de D para la versión de interfaz adecuada en los espacios de nombre de compilador. Por lo tanto, todas las opciones de enlace de versión que especifique simplemente controlan el conjunto de identificadores, tipos y traductores que son visibles para el programa, además de las variables, los tipos y los traductores definidos por el programa. El enlace de versión impide que el compilador D cargue nuevas interfaces que puedan definir identificadores o traductores que entren en conflicto con declaraciones en el código fuente del programa y que, por lo tanto, podrían provocar un error de compilación. Consulte Nombres de identificador y palabras clave para obtener sugerencias acerca de cómo se eligen los nombres de identificadores para que no entren en conflicto con interfaces ofrecidas por versiones futuras de DTrace.