Errores de software: cómo evitarlos y solucionarlos
Solucionar los problemas relativos a software es una habilidad que se obtiene con la práctica y la experiencia del trabajo cotidiano. Si bien al principio no es sencillo adquirir una buena técnica de diagnóstico y solución de problemas, no es imposible de conseguir si se poseen habilidades de razonamiento deductivo y se siguen algunas normas o metodologías de trabajo recomendadas, que pueden ayudar mucho al usuario. Inicialmente, se debe prestar mucha atención a los síntomas de un problema, ya que, igual que en un ser humano, son ellos los que pueden conocer cuál es el inconveniente. El usuario de hardware debe saber acerca de cuáles fueron las últimas acciones realizadas antes de que comenzaran a aparecer los errores o el mal funcionamiento de las aplicaciones; por ejemplo, qué programas estaban trabajando de manera correcta, cuáles se instalaron recientemente, etc. Toda información que se pueda ayudar a deducir la causa del inconveniente, aporta pequeñas pistas que son de suma utilidad para que se logre realizar la reparación.
No hay que omitir ningún detalle al momento de sacar conclusiones, y así poder conseguir los mejores resultados. Recordar que realizar una buena documentación del proceso que se efectue puede ser el pilar para una resolución exitosa del problema.
El primer factor que se debe descartar con el interrogatorio es que sea el mismo usuario la causa del problema (situación que se suele presentar). Una vez que queda desvinculado, se pasa a examinar los síntomas descriptos a fin de verificar cual es la naturaleza del conflicto. Hay que tratar de identificar cuál es la aplicación que está provocando el inconveniente o bien las partes del sistema que pueden estar interfiriendo en el buen funcionamiento de los programas.
En el comienzo se mencionó, que la habilidad de resolver los problemas que presenta el software se adquiere con la experiencia. Si bien muchas veces los errores son recurrentes y conocidos,
en otras oportunidades nos encontraremos ante situaciones en las que no se tendrá ninguna experiencia. En estos casos, las probabilidades de obtener resultados favorables dependerán, exclusivamente, de las habilidades y conocimientos adquiridos con anterioridad, de la paciencia que se tenga para examinar todas las alternativas de resolución posibles, de la capacidad de deducción, del buen uso de las técnicas o metodologías de trabajo y, como en todos los aspectos de la vida, de un poco de suerte.
Precauciones, síntomas y errores comunes
Lo primero que se debe tener en cuenta es sobre qué tipo de software están ocurriendo los problemas, ya que no es lo mismo que se produzcan en una aplicación de uso general o que se presenten en el sistema operativo. En el primer caso, la solución posiblemente sea más sencilla, aunque no menos importante; mientras que en el segundo puede llegar a ser más drástica, a punto tal de tener que reinstalar el sistema por completo junto con todas las aplicaciones. Pero sea cual fuera el software que presente problemas o la solución que se decida aplicar, es fundamental efectuar una copia de seguridad (backup) de todos los datos y archivos importantes antes de iniciar cualquier modificación, y también, una copia de seguridad del registro o de los archivos de configuración pertenecientes a la aplicación con problemas.
Por lo general, las
aplicaciones, si bien nunca están exentos de errores de programación (llamados
bugs), pueden funcionar perfectamente durante un largo tiempo. Incluso, en algunas ocasiones los errores nunca se presentan, y éste sería el mejor de los casos. Pero cuando los problemas empiezan a suceder, lo primero que hay que averiguar, antes de efectuar cualquier tipo de reparación, es si se trata, simplemente, de un bug de programación o si existe algún tema de configuración, conflicto entre aplicaciones, o eliminación o modificación de archivos de la aplicación en cuestión, entre otras posibilidades.
En primer lugar, lo más conveniente es ingresar en el sitio web del fabricante de dicho software y revisar si existe alguna lista de bugs conocidos, que puede sernos de gran utilidad. Desafortunadamente, las soluciones no siempre son fáciles de encontrar y,
en algunas circunstancias, se debe profundizar un poco más en el problema para llegar a resolverlo. Primeramente, se tendrá que verificar si la causa del error es la ausencia de archivos de la aplicación. Para hacerlo, hay que prestar mucha atención tanto a los síntomas, como a los mensajes de error que da la aplicación (en caso de que aparezcan), ya que muchas veces éstos dan una pequeña pista para saber por dónde comenzar a investigar el origen del conflicto.
Ausencia de archivos (DLL)
Cuando aparece el típico mensaje "No se ha encontrado el archivo xxx.dII",
es evidente que el problema surge de la ausencia de uno o más archivos; en este caso puntual de uno llamado
Dynamic Link Library (librería de enlace dinámico). Una posible solución es conseguir el archivo faltante y copiarlo dentro de la carpeta correspondiente (muchas veces dentro de la carpeta de instalación del programa, y otras, dentro de la de
Windows). Pero es necesario que sea la
versión idéntica a la del programa que se está reparando, porque, de lo contrario, lo más probable es que el conflicto se siga presentando o que, directamente, haya más problemas de los que ya existían. Una de las posibilidades para hallar el
archivo faltante es buscarlo en Internet, donde hay sitios especializados que contienen miles de
DLL ordenadas por su nombre, y con mucha información acerca de su función, versión, tamaño, etc.
Otra opción, que muchas veces es más sencilla, es tratar de conseguir el paquete de instalación del software en cuestión y copiar el archivo faltante desde allí. La única complicación en este caso es que el archivo esté empaquetado dentro uno general y, entonces, no se puede extraerlo fácilmente. Dependiendo de las habilidades o del tiempo disponible, quizá la mejor alternativa sea
reinstalar el programa completo, haciendo, previamente, una copia de todos los archivos de datos o de configuración, debido a que muchas aplicaciones, al momento de reinstalarlas, reemplazan algunos que pueden contener información personalizada por el usuario.
Conflictos con versiones de archivo (DLL compartidas)
En otras ocasiones, puede suceder que a la aplicación no le falte ningún archivo, pero sí,
que uno o más hayan sido reemplazados por versiones más antiguas o más modernas, como suele ocurrir cuando se instalan varios programas que utilizan lo que se conoce como DLL compartidas (
Shared DLL's).
En este caso, el mensaje de error puede ser del tipo
"No se encuentra el punto de entrada al procedimiento x en la biblioteca de vínculos dinámicos xxx.dll". Esto quiere decir que el archivo existe, pero dentro de él
no está la función o el procedimiento que la aplicación intenta ejecutar. Si bien reconocer el archivo que tiene problemas puede ser tan sencillo como detectar cuando está ausente (porque salta a la vista en el mensaje de error), la complicación surge por el simple hecho de que, si se lo reemplaza por la
versión que corresponde y se consigue que funcione otra vez, tal vez otros programas que usan la misma
DLL compartida dejen de funcionar y comiencen a mostrar el mismo tipo de error cuando se trate de ejecutarlos (esto se debe a que en las versiones más modernas de un mismo archivo, algunas funciones cambian de nombre o bien dejan de existir por ser obsoletas, y es entonces cuando se produce el error).
Cabe aclarar que
siempre que se reemplacen manualmente archivos DLL compartidos, es conveniente probar que la mayoría de las aplicaciones instaladas, al menos, inicien sin problemas. De este modo, se asegura de que la nueva versión no genera conflictos con ninguna otra
aplicación.
Ahora bien, ¿cómo encontrar cuál es la versión del archivo DLL compartido que debe estar instalada para que todas las aplicaciones funcionen sin inconvenientes? La respuesta es muy simple, aunque la solución no siempre lo es. En primer lugar,
hay que buscar el archivo en cuestión dentro del disco rígido y ver sus propiedades y la versión de la misma. Muchas veces ocurre que el mismo archivo aparece varias veces en distintas
carpetas. Entonces, se debe ver, uno por uno, cuál es el que tiene la menor y la mayor versión y, a su vez, observar en qué carpetas están ubicados y el tamaño que ocupan, ya que esta información puede ayudar a encontrar una solución al problema.
Antes de continuar, es conveniente entender por qué se puede encontrar el mismo archivo en diferentes carpetas. Por ejemplo, los que están en la carpeta de sistema de
Windows son accesibles para cualquier aplicación que los necesite, mientras que aquellos que se ubican en las de las aplicaciones sólo pueden ser accedidos por ellas mismas. Gracias a esto, se logra deducir que los programas primero tratan de encontrar el archivo en la misma carpeta de instalación (a menos que en su código de programación esté especificado de otra manera) y, si no lo localizan allí, entonces van a buscarlo dentro de la de sistema de
Windows. Por lo general,
las aplicaciones que usan archivos DLL compartidos dejan de funcionar por completo cuando el requerido está en la carpeta de sistema de
Windows y fue reemplazado por otra
versión.
Una vez que se tiene en claro qué versiones de archivos hay en el disco y dónde se encuentran ubicadas, hay que realizar una copia de cada uno, en lo posible, dentro de la misma carpeta en donde están, para no mezclarlos y poder confundir luego. También se puede llegar a deducir que, si en la carpeta de instalación del programa no hay una copia del archivo en cuestión, entonces, se lo estará buscando dentro de la carpeta de sistema de
Windows. En este caso, una posible solución es copiar una versión diferente de la que se encuentra en la carpeta de sistema, dentro de la de la aplicación y, luego, probar si funciona correctamente.
Aclarar que, cuando se tiene varios archivos con distintas
versiones, se debe probar este método con todos ellos, hasta hallar uno que funcione. Pero si así no se logra una solución, no habrá que desesperarse, porque, al igual que en el caso de ausencia de archivos,
se puede recurrir a Internet para buscar otra versión o bien localizarlo dentro del paquete de instalación. Eso sí, cuando no se consiga extraer el archivo por los motivos descriptos en el punto anterior, será recomendable que, antes de realizar una reinstalación del programa en el mismo equipo, se lo haga en otra computadora: de esta manera, se evita la sobrescritura de archivos dentro de cualquier
carpeta y no se compromete el funcionamiento de otras aplicaciones. Una vez que la aplicación está instalada en otro equipo, probar a copiar el archivo necesario y verificar luego que funcione sin problemas.
Problemas con desinstalaciones
Muchas veces ocurre que cuando se desinstala una aplicación, ésta elimina archivos que pueden ser necesarios para que otras funcionen correctamente, como DLL compartidas. Por lo tanto, siempre es recomendable que, al efectuar una desinstalación, se trate por todos los medios de utilizar la opción de hacerlo manualmente (en caso de que esté disponible), dado que así se podrá ver y seleccionar en todo momento qué archivos se van a eliminar y cuáles no. Por el contrario, el modo automático no permite hacer ninguna elección y, en ciertas ocasiones, elimina archivos compartidos sin aviso.
Cuando no se sabe si un archivo es necesario para el funcionamiento de otras aplicaciones, es conveniente no eliminarlo (sobre todo, si está ubicado en la carpeta de sistema de Windows).
Se puede diferenciar entre fallas de
software y de hardware (por medio del diagnóstico). Además, dentro de cada una de ellas se consigue distinguir dos categorías: fallas aleatorias y sistemáticas. Ahora bien, si se tiene una aplicación a la cual se le ha dañado un archivo DLL, se obtendrá como resultado una falla sistemática, es decir que cada vez que la aplicación o programa necesite ese archivo, se producirá un error. Es más,
existen archivos compartidos por varias aplicaciones; en estos casos, cada una de ellas generará un error cuando se intente procesar el archivo dañado, sin importar que sean programas diferentes.
Hay que tener claro que,
DLL es la denominación con la que se hace referencia a los archivos con código ejecutable que se cargan bajo un programa determinado por orden del
sistema operativo. Una de las ventajas que proporcionan es que son la evolución de las bibliotecas estáticas, y suman funcionalidad y recursos a las diferentes aplicaciones. En términos sencillos, estas herramientas minimizan el tamaño de los archivos ejecutables y son aptas para ser compartidas entre diversas aplicaciones. No solo eso, sino que también simplifican la gestión y optimización de la memoria del sistema.
Por otro lado, los archivos
DLL tienen sus complicaciones.
En los sistemas operativos de Windows, son comunes y utilizados por varios programas. Pero, debido a su naturaleza, evolucionan de manera tal, que pueden volverse incompatibles y, en consecuencia, provocar los efectos no deseados que ya se dijeron con anterioridad.
Falta de recursos en el sistema
Existen problemas que pueden surgir en los
programas desde otro punto de vista: no ya desde la aplicación en sí misma, sino desde la falta de recursos en el sistema. Este tipo de inconveniente suele ocurrir
cuando el hardware de la PC no se actualiza tanto como el software. Esto se debe a que, en ocasiones, es más económico cambiar un
sistema operativo, que reemplazar un
motherboard y un
microprocesador. La consecuencia de esta situación es que
el software instalado necesita más recursos de los que la PC puede ofrecer. Es entonces cuando se produce una disminución en el rendimiento del sistema y, luego, el colapso de ciertas aplicaciones. En ocasiones, no es sólo un programa el que arroja errores, sino todos a la vez,
debido a que el sistema se va quedando sin memoria paulatinamente.
Para comprender un poco más este concepto, mejor con un ejemplo. La computadora está descargando archivos de Internet por medio de una conexión de
banda ancha; además, están abiertos el cliente de correo electrónico y un programa de mensajería para chatear. Incluso, se está reproduciendo música mientras se trabaja con el editor de texto o la planilla de cálculo. Entonces, se recuerda que se necesita encontrar cierto material para realizar un trabajo para la facultad, y se abren cinco o diez páginas web al mismo tiempo. En esta instancia, y con todas estas aplicaciones ejecutándose en forma simultánea, se comienza a notar que la
PC se vuelve cada vez más lenta. Luego, se ve que el archivo que se estaba bajando de
Internet finalizó su descarga y está comprimido. Para descomprimirlo, se recurre a algún programa adecuado para efectuar esta tarea y, en un segundo, todo se congela, nada funciona y, además, una
pantalla azul reemplaza el desordenado
Escritorio de Windows. La
PC no responde a ninguna orden y, en consecuencia, se tiene que reiniciar el equipo.
No se puede decir que el software para la descompresión de archivos falló, ya que éste sería un diagnóstico errado. Simplemente, ese programa desbordó el sistema.
La falla en sí se debió a la falta de recursos para ejecutar tantos programas simultáneamente. Se alcanza a concluir que, en estos casos, las fallas son aleatorias; es decir, no se producen por ejecutar un programa en particular, sino por usar cualquiera que sobrecargue el sistema. En tal caso, se tiene que contemplar la actualización de los recursos de hardware.
Ver también
En el glosario: Bug — Caída — Colgarse (Def. 1) — Crash — Cuelgue — Error físico — Error lógico — Modo a prueba de fallos — Pantalla azul — Reinicio — Resetear — Tolerante a fallos.
En apartados: Plan de mantenimiento de la PC según el ámbito de trabajo —
Problemas comunes en redes: cómo configurarlas y prevenir fallas.
Más contenido Apartados: ¿Cómo optimizar y aumentar la velocidad de Internet? • ¿Cómo surge una idea? • ¿Existe la seguridad absoluta? • Consejos en la ergonomía informática • Consejos para aprender a programar • El auge de las redes sociales • En la búsqueda de archivos torrents • Entrevista laboral: cualquier cosa te llamamos • Herramientas de respaldo y recuperación de archivos • ¿Se puede estar sin Internet? • ¿Seremos dependientes de la IA como lo somos de Internet? • Una cursada diferente
Virus/gusanos: El origen de los virus • CIH • Happy99 • Hybris • ILoveYou • Life Stages • Melissa • Timofónica • ZippedFiles • Infecciones vía correo electrónico • Distintas vías de infección • Virus informáticos con historia
Historias: Acerca de paquetes ofimáticos • El CD • El MP3 • Evolución de la informática • Apple • Google • La evolución de los Disc Jockeys • Linux
• La lógica • Microsoft • Navegadores de Internet • Origen y evolución de Internet • Redes neuronales artificiales • Surgimiento de la criptografía • Tarjetas gráficas
Videojuegos/consolas: Evolución de las consolas • Evolución de los videojuegos • Inventores de videojuegos • Jugando con la Xbox • SimCity • Videojuegos violentos