jueves, julio 22, 2004

Depurando en Windows (II): Los símbolos

Normalmente, si somos los que hemos realizado la aplicación, dispondremos de los ficheros de símbolos generados por el compilador que usemos. ¿Pero que pasa si se produce un error dentro una libreria de Windows?. En ese caso, podemos usar los simbolos del sistema operativo para poder depurar - aproximadamente - dentro del API. Además, siempre es una manera interesante de comprender el funcionamiento de las tripas de Windows. Sin embargo, los paquetes de símbolos del enlace anterior, tienen un problema: solo están disponibles con los Service Pack: ¿qué pasa si hemos instalados hotfixes - inevitable en Windows - en el sistema?. En ese caso, puede que sea necesario actualizar los símbolos desde el servidor de descarga de Microsoft, tal como se comenta en este artículo de la KB de Microsoft.

El programa que se encarga de esto es symchk, incluido con las Debugging tools para Windows.Nos permite recorrernos todas las librerias y ejecutables del sistema y bajarnos a un repositorio local los símbolos que estén disponibles.

Por ejemplo, si queremos bajar todos los símbolos de ejecutables y librerias que estén bajo C:\WINNT\SYSTEM32 al directorio C:\symbols:

symchk /r c:\WINNT\system32\ /s SRV*C:\symbols*http://ms crosoft.com/download/symbols

Es más cómodo sin embargo, bajarse antes todo el conjunto de símbolos pertenecientes a la versión del sistema y service pack que se vaya a depurar, por ahorrar ancho de banda.

No hay comentarios: