Diferencia entre revisiones de «Caza de símbolos»

De Wiki Asqueados
Saltar a: navegación, buscar
()
m ()
Línea 19: Línea 19:
  
  
4RVAci  <a href="http://vsmdekttwfmk.com/">vsmdekttwfmk</a>, [url=http://zbsgapksqhjx.com/]zbsgapksqhjx[/url], [link=http://bumukdeatqnd.com/]bumukdeatqnd[/link], http://qshhotmrfatj.com/
+
==A todo esto... ¿qué es eso de los símbolos no resueltos?==
 +
 
 +
Un ''símbolo'' es un elemento que aparece en una librería, o más bien representa la dirección donde se encuentra ese elemento. Lo más habitual es que se trate del nombre de una función.
 +
 
 +
Los símbolos de una librería puede ser símbolos que proporciona (funciones que están definidas dentro de la librería) o símbolos que demanda (funciones que utiliza la librería pero están en otras librerías).
 +
 
 +
Un ''símbolo no resuelto'' se produce cuando una librería demanda un símbolo y ninguna de las librerías con las que va enlazada lo proporciona.
 +
 
  
 
==¿Cómo saber los símbolos de una librería?==
 
==¿Cómo saber los símbolos de una librería?==

Revisión del 03:22 22 ene 2009

Unable to load plugin dll: /tibae5/software/adaptadores/AdaptadorOPSC/lib/libCallbackConvPrePost64.sl, Uressolved symbol contenido

NOTA: Este error es parecido a "No such file or directory", que también se encuentra en la BD de conocimiento.

En las máquinas HP Itanium algunas veces cuando se intenta cargar el adaptador se obtiene un error parecido a éste:

"Unable to load plugin dll: /tibae5/software/adaptadores/AdaptadorOPSC/lib/libCallbackConvPrePost64.sl, Urresolved symbol"

Es un error muy difuso que no ayuda mucho. Puede deberse a las siguientes causas:

1. La librería libCallbackConvPrePost64.sl tiene un símbolo no resuelto. 2. Alguna de las librerías que enlaza la 1. tiene un símbolo no resuelto. 3. Alguna librería de las enlazadas anteriormente (1., 2. y 3.) tiene un símbolo no resuelto.

Resolver este asunto es muy tedioso y no es una tarea automática, sino que depende de nuestra inteligencia, sagacidad y suerte. Hay que ver qué símbolos requiere una librería, elegir los sospechosos y ver si están bien resueltos, y así con todas las librerías que van enlazadas.



A todo esto... ¿qué es eso de los símbolos no resueltos?

Un símbolo es un elemento que aparece en una librería, o más bien representa la dirección donde se encuentra ese elemento. Lo más habitual es que se trate del nombre de una función.

Los símbolos de una librería puede ser símbolos que proporciona (funciones que están definidas dentro de la librería) o símbolos que demanda (funciones que utiliza la librería pero están en otras librerías).

Un símbolo no resuelto se produce cuando una librería demanda un símbolo y ninguna de las librerías con las que va enlazada lo proporciona.


¿Cómo saber los símbolos de una librería?

El comando nm te muestra los símbolos de la librería. Ej: $ nm libCallbackConvPrePost64.sl

Para saber qué símbolos demanda la librería:

   $ nm libCallbackConvPrePost64.sl | grep UNDEF

Y para saber qué símbolos proporciona:

   $ nm libCallbackConvPrePost64.sl | grep .text

El método para encontrar a la culpable viene a ser éste: