Puntos de ruptura no coinciden con paradas del debug
Hola, hace años me pasó esto mismo y no recuerdo cómo se solucionó, el caso es que cuando compilo se muestran en el borde izquierdo los puntos verdes donde se puede dar click (o F5) en la línea para que se detenga el debug al llegar a ese punto. Bien, el caso es que los puntos de ruptura que aparecen no se corresponden con el código del programa, hay puntos en líneas de comentarios y faltan en líneas de código normal. El debug se comporta como "idiota" saltando a los puntos que no corresponden y saltándose líneas "buenas".
¿Alguien recuerda qué hay que hacer para que todo vuelva a la normalidad? Me parece recordar que había que borrar un ficherito de configuración, pero fue hace muchos años y no estoy seguro si es la solución, ni qué fichero. Es Delphi 6. Gracias. |
Prueba borrando los dcu, si es que los tienes.
LineComment Saludos |
Gracias, precisamente eso es lo primero que hice, cerrar delphi, borrar todas las dcu, abrir de nuevo delphi, el proyecto y "Build" todo.
Pero no sirvió, siguió igual :confused: |
Me ha sucedido algunas veces, incluso en versiones recientes de Delphi. Aparentemente se debe a que el archivo de código en cuestión tiene caracteres invisibles que el mapeo del depurador interpreta de forma incorrecta.
La solución que aplico en estos extraños casos es fijarme a partir de qué línea (comenzando desde arriba) se "desfasan" los puntos de ruptura. Una vez determinado esto, quito y vuelvo a poner las líneas en blanco que estén cercanas a esa sección de código. Ocasionalmente también debo ir al final de las líneas de código (con la tecla Fin/End) para cerciorarme de que no haya caracteres invisibles agregados en esa parte. En pocas palabras, manualmente puedes quitar los "espacios" o "saltos de línea" defectuosos, hasta que todo se torne normal nuevamente. Esos caracteres de control defectuosos van a estar en la línea o antes de la línea donde aparece el primer punto de ruptura malo. Espero te sirva, saludos. :) |
Gracias, he revisado e incluso lo he comprobado con un "editor hexadecimal" y solamente están los CRLF del final de cada línea y algún que otro tabulador que he sustituido por espacios.
También he comprobado que el fichero está en formato ansi y parece todo normal. El caso es que me parece recordar que se solucionaba borrando un fichero de configuración, pero no recuerdo cuál. Saludos. |
A mi me ha pasado cuando he tenido dos versiones del archivo pas. El compilador compilaba uno mientras me mostraba otro. Hay que analizar que archivo está en el proyecto, incluso eliminarlo y volverlo a adjuntar. También me ha pasado con Builder.
Saludos. |
Yo cuando tengo ese problema, copio el pas entero al Notepad++, y le doy a la opción convertir fin de linea a formato Unix, y después convierto nuevamente a formato Windows
|
Busca si en disco hay más de una versión de la DCU que te está haciendo cosas raras en diferentes directorios.
La razón más habitual es porque se ha generado en 2 directorios diferentes y por temas de path, está encontrando la que no es correcta |
Cita:
Cita:
Cita:
Voy a hacer unas pruebas y comento. |
Confirmado, estaba depurando un fichero distinto al que estaba editando. Por lo que no reflejaba los cambios que hacía y los breakpoints quedaban donde no eran.
Muchísimas gracias a todos, amigos. ||-|| |
Cita:
|
Esto me recuerda todas las veces en que pienso "Esta herramienta tiene un problema", cuando de forma *frentera* te esta gritando que el problema lo tienes *tu*. Es un generador de humildad tremendo darse cuenta ;)
|
Cita:
Y en el 99.99% de los casos era fallo mio. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 19:58:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi