Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Depuración

WinDbg Breakpoint on key pressed

Imaginad por un momento que os surge la necesidad de detener la ejecución de un programa cuando se pulsa una determinada tecla o combinación de estas, en fin, algo normal que a cualquier persona se le puede pasar por la imaginación, ¿o no?. Bromas aparte, para conseguirlo podemos utilizar infinidad de técnicas y en esta ocasión voy a comentaros la última que he empleado yo en uno de los trabajos que estoy realizando actualmente. Esta técnica consiste en colocar un punto de ruptura en la llamada a la API TranslateAccelerator. Ahora bien, debemos tener en cuenta que si colocamos un breakpoint de ejecución sin más, el debugger estará constantemente saltando y no podremos conseguir nuestro objetivo o, cuando menos, será muy desesperante. Para evitar tal situación, lo que tenemos que hacer es utilizar un breakpoint condicional para indicarle al debugger que se detenga solamente cuando se cumple una determinada condición o condiciones y por consiguiente que continúe con la ejecución nor...

WinDbg Symbols Path

Si estás leyendo esta entrada del blog supongo que ya sabes perfectamente la importancia que tienen los símbolos (Públicos y Privados) a la hora de depurar software. En esta ocasión me voy a centrar en las formas que tenemos para indicarle al depurador de Microsoft donde se encuentran los símbolos. En el caso de WinDbg lo podemos especificar de diversas maneras: Desde línea de comandos con el comando -y Utilizando la variable de entorno _ NT_SYMBOL_PATH ó _NT_ALT_SYMBOL_PATH Desde el menú File\Symbol File Path Utilizando el comando .sympath Los símbolos pueden residir en una unidad de almacenamiento local (Ej. el disco duro) o bien proceder de una fuente o servidor remoto. En el la caso de una unidad local, indicaremos la ruta completa a los mismos, ej.; .sympath d:\desarrollo\windbg\symbols Cuando tengamos que cargar los símbolos desde un servidor remoto lo indicaremos así: .sympath srv*http://msdl.microsoft.com/download/symbols También podemos indicar ambos ...