![]() |
Error debuguer con F8.
Buen dia a todos , gracias por su tiempo. Estoy teniendo problemas para debuguear un sistema (delphi 7 y Sql 2019). Por mas que ponga Break points (algunas lineas las acepta y marca en rojo para que el programa frene otras no las puedo marcar) . Cuando logro que frene en alguna y presiono F8 , el programa avanza y va pasando y frenando por lineas en blanco , donde no hay codigo , hasta que da error por lo tanto no puedo saber cual es la instruccion que da error. Ya limpie los DCU , borre todos , hice Rebuild , verifique los path de busquedas en el entorno y en el proyecto , modifique codigo agrupando diferente, pero sigue siempre igual , desconectado el F8 con las lineas de codigo. El PAS es el correcto porque si lo modifico y agrego un showmessage lo veo (para descartar que este ejecutando otro pas). Tambien probe crear un proyecto de cero , simple con 5 instrucciones y ahi si lo debuguea correctamente, asi que el problema es en este sistema en particular. Muchas gracias por su ayuda ! .. no queria molestar con esto pero la verdad hace rato estoy luchando y no logro resolverlo. saludos !
|
También puedes editar el fichero de .dsk del proyecto y borrarlos manualmente, tienes una sección similar a esto:
Cita:
|
Algo similar me ha pasado a mi en 2 ocasiones.
1) La más habitual. Se debe a que tienes en diferentes sitios DCUs correspondientes a los ficheros que has compilado. Estás viendo unos .PAS y los ficheros que el IDE encuentra (.DCU) no corresponden a esos ficheros. Por eso "pinta" los puntos donde no toca y cuando "debuggas" avanza por líneas que no se corresponden con el .PAS que estás viendo en pantalla. Lo más habitual es que por ejemplo, generas DCUs en un directorio, los hay en otro y el la configuración global tienes añadido el segundo. 2) El menos habitual. Este nos ha pasado algunas vez con editores extraños (versionado de fuentes, herramientas de control de código y algún "Merge"). Nos ha pasado alguna vez (muy de vez en cuando) que dentro del fichero fuente .PAS no han entrado códigos (caracteres) no visibles que nos alteraban la visualización de los elementos de Debug (punto de debug). Nos dimos cuenta cuando los revisamos con algún editor que permite ver caracteres ocultos (como el Notepad++). Pero como digo esto nos ha pasado en muy raras veces. |
Esto también puede darse porque Delphi al compilar "optimice" el código. A mi me ha suceido en Delphi 6.
En Delphi 6, dentro de Project --> Options -> Compiler -> Code Generation puedes poner un check en code generation -> "Optimization" y otros checks en el apartado Debugging. En modo Debug quito Optimization y marco los checks de Debugging. En modo Release hago lo contrario. Por ejemplo:
|
Gracias por su ayuda , sigo intentando
Lo de los DCU , esta creo yo , descartado , el unico DCU que tengo en el disco con el nombre del PAS , lo genera con fecha actual. (ya lo he borrado varias veces)
Borre los .dsk y .cfg ( hice rebuild y siguio igual) Revise los path , probe activando y desactivando las opciones de Debuger en opciones - Compilacion. y ChatGpt tambien esta en crisis , ya no sabe que sugerirme :-) pero bueno... seguire luchando ,,, gracias a todos nuevamente !! pd. ahora estoy analizando porque me marca las lineas como Break validos (rojas) y al darle F9 me las pasa a verde como invalidas. |
Pásanos capturas de pantalla, o si es posible una copia del proyecto como ejemplo para que podamos probar.
|
diagnostico del que lo programo
Buenos dias , les comento algo por si les sirve de ayuda para deducir que podria ser la causa del problema...
Pude hablar con el programador original del sistema, me comento que eso le empezo a pasar EN ALGUN MOMENTO , no sabe si luego de instalar algun componente o que y como que habia x numero de lineas FIJAS que estaba desfazado el debuguer con el codigo (evidentemente nunca logro corregirlo).. El sabia que eran 7 lineas mas abajo por ejemplo entonces cuando debugueaba , miraba al momento del error 7 lineas abajo para encontrar la linea exacta de copdigo. En el primer mensaje adjunte un PDF de como se ve lo que pasa. Respecto a enviar el codigo no tengo problema si les parece.. ( para compilar los hará renegar un poco creo y no quisiera abusar de su amabilidad y tiempo , pero está a disposicion ) |
Probar lo de los caracteres "raros" que te he comentado es fácil.
Simplemente debes abrir el fichero .PAS con Notepad++ (por ejemplo) y visualizar todos los caracteres. Ahí deberías ver si hay alguno extraño. Te puede ayudar lo siguiente. Busca en el código desde el inicio de la unit, cual es el punto en que los puntos empiezan a "desfasar". Ese es el punto donde debes buscar esos caracteres en el Notepad++. |
lo tengo mas cerca al error , pero no se porque se produce
Hola A todos. les cuento , inicie a Debuguear desde la primera instruccion del sistema en el archivo .dpk
llego al pas principal y hasta una funcion que tiene algunas llamadas de un componente FTP , ahi se descontrola. Adjunto imagen en pdf llamado 'clubdelphi.pdf' . Puse el Break que se ve en rojo , con F8 pasa a la instruccion de debajo , pero con el tercer F8 pasa a una linea sin codigo. MUCHAS GRACIAS a todos ,que tengan un buen dia. sds |
Poco podemos decir/hacer ya, si no pasas el código.
|
Yo haría una prueba comentando el componente.
Algo así:
Además mira si estos son funciones que devuelve algo o son procedimientos.
Mete cada uno de estos dentro de un try..except. Podrían estar devolviendo una excepción ABORT que creo que es "silenciosa" y Delphi no la muestra.
|
Gracias a todos.. les adjunto el codigo del pas principal
sds
PD recien el miercoles podre probar lo sugerido por duilioisola. gracias |
| La franja horaria es GMT +2. Ahora son las 17:37:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi