Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Puntos de ruptura no coinciden con paradas del debug (https://www.clubdelphi.com/foros/showthread.php?t=91034)

cozina 27-10-2016 21:06:59

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.

roman 27-10-2016 21:46:57

Prueba borrando los dcu, si es que los tienes.

LineComment Saludos

cozina 27-10-2016 22:51:32

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:

Al González 27-10-2016 23:34:38

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. :)

cozina 28-10-2016 00:26:29

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.

escafandra 28-10-2016 00:35:43

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.

AgustinOrtu 28-10-2016 02:27:25

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

Neftali [Germán.Estévez] 28-10-2016 09:41:14

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

cozina 28-10-2016 13:01:12

Cita:

Empezado por escafandra (Mensaje 510155)
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.

He borrado una copia, aunque tenía otro nombre.
Cita:

Empezado por AgustinOrtu (Mensaje 510159)
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

También suelo hacer eso, y lo he vuelto a hacer, por si acaso.
Cita:

Empezado por Neftali (Mensaje 510165)
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

He comprobado el path y he almacenado todo lo que he encontrado en archivos zip y luego he borrado los pas y dcu repetidos por ahí.
Voy a hacer unas pruebas y comento.

cozina 28-10-2016 19:40:58

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.
||-||

jhonny 28-10-2016 21:18:23

Cita:

Empezado por cozina (Mensaje 510192)
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.
||-||

jejeje vaya cosa :), a mí me ha sucedido eso cuando he modificado y no he reconstruido el .bpl del cual depende el .bpl con el que estoy trabajando actualmente.

mamcx 28-10-2016 23:18:04

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 ;)

Casimiro Notevi 28-10-2016 23:32:15

Cita:

Empezado por mamcx (Mensaje 510199)
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 ;)

Eso es cierto, cuando me encuentro con problemas "increíbles" siempre pienso: "el error es mio, seguro, así que ni se me ocurra pensar que pueda ser fallo de la herramienta".
Y en el 99.99% de los casos era fallo mio.

jhonny 29-10-2016 00:54:55

Cita:

Empezado por Casimiro Notevi (Mensaje 510200)
Eso es cierto, cuando me encuentro con problemas "increíbles" siempre pienso: "el error es mio, seguro, así que ni se me ocurra pensar que pueda ser fallo de la herramienta".
Y en el 99.99% de los casos era fallo mio.

jejeje así es, incluido ese 99.99%... sólo en ese 0.01 y después de dar miles de vueltas y buscar en los bugs reportados he encontrado que sí era problema de la herramienta, pero incluso habían publica ya el fixed correspondiente.


La franja horaria es GMT +2. Ahora son las 06:59:07.

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