Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Ejecutable xxxxxx dejo de funcionar en W10 PRO (https://www.clubdelphi.com/foros/showthread.php?t=90913)

tarco35 07-10-2016 00:39:01

Ejecutable xxxxxx dejo de funcionar en W10 PRO
 
Pues les comento... el programa funciona perfectamente en windows 7, pero en algunos ordenadores con windows 10 cuando pasa un cierto tiempo, no siempre el mismo, ni siguiendo los mismo pasos, el W10 lanza ese mensaje en una ventana indicando que dejo de funcionar: "El programa dejo de funcionar correctamente por un problema. Windows cerrará el programa....
Como da opcion de depurar lo intento ver por ahi, lanza el compilador de delphi 6, que es el que uso, y me saca una ventana con codigo hexa:



Ya he probado, activando el modo compatibilidad con win xp y win 7 y el resultado es el mismo.
El control de cuentas de usuario esta activado (que no se si tiene algo que ver o no)
Tambien he probado a activar DEP para el resto y para mi ejecutable no... y tampoco es solución...
El windows esta actualizado.

Alguna idea de porque le esta pasando esto??
Gracias.

AgustinOrtu 07-10-2016 00:54:39

No es posible depurar/analizar el código fuente?

tarco35 07-10-2016 07:30:48

complicado
 
Seria algo complicado. A ese ordenador accedo con Team Viewer y aunque le ha instalado el compilador, tendria que meterle todos los componentes que uso.

Neftali [Germán.Estévez] 07-10-2016 08:54:05

Cita:

Empezado por tarco35 (Mensaje 509364)
...cuando pasa un cierto tiempo, no siempre el mismo, ni siguiendo los mismo pasos, el W10 lanza ese mensaje en una ventana indicando que dejo de funcionar: "El programa dejo de funcionar correctamente por un problema. Windows cerrará el programa....

Tienes que intentar acotar la situación que provoca el error.
Ya sea cando se abre o cierra algún formulario, cuando se ejecuta un timer,...

Si no, la otra opción que te que queda es generar un Report/Log a disco con las operaciones que se van realizando, de forma que cuando falle puedas saber lo último que se ha realizado.
A partir de ahí ir afinando el Log en las operaciones que te interesen hasta encontrar el bug.
Con estos problemas que son aleatorios y no se pueden reproducir, no queda otra opción...

tarco35 07-10-2016 11:07:59

Para hacer eae log, sería ir añadiendo lineas a un.fichero de texto.cada.vez que se abre, cierra una ventana, activo o desactivo un crono, p sea... cada vez que hago algo????

Neftali [Germán.Estévez] 07-10-2016 12:39:36

Por ejemplo.
Es cuestión de marcar determinadas acciones que tú pienses que pueden dar problemas.
No demasiadas para que no ocupe demasiado espacio, pero sí las que consideres importantes.

Luego puedes ir afinando. Si siempre es cuando abres un determinado formulario, pues puedes eliminar otras y centrarte en ese,...

No hay una situación genérica, es cuestión de ir afinando cada vez un poco más.

Estaría bien, también apuntarte todas las excepciones que pasan en la aplicación, aunque no sean visibles al usuario. A veces una excepción queda enmascarada y visualmente no produce efecto, pero provoca que la memoria o el programa quede "inestable".

Delphius 07-10-2016 13:22:49

Y también puede ser que sea otra aplicación la que origina un conflicto y altera algo de lo que tu usas.
La verdad es que ese error no dice mucho*, no somos adivinos. No sabemos lo que hace tu sistema, como es el código que tienes, ni nada.
Distinto es si nos dijeras, "he logrado aislar el problema. Y se presenta cuando se hace x cosa. El código que tiene ese módulo hace esto, tengo esto otro. ¿Alguno ve algo raro por ahí que pudiera ser motivo de error?"

*Bueno, en realidad dice poco y mucho. Explico: El error en si mismo no dice que sea una excepción planteada. Pero a su vez está dando la pista de donde puede estar el problema. Justamente dice que el problema se encuentra en los alrrededores de la dirección 5FB532AE. Desde ahí y "volviendote sobre tus pasos" deberás ir debugueando tu aplicación hasta encontrar código que posiblemente sea propenso a dar un problema.
¿Que dice la pila de llamadas?

Saludos,

AgustinOrtu 07-10-2016 20:30:33

Sino tenes que usar algo que te de la traza de la ejecucion, es decir, los ultimos metodos que se fueron ejecutando hasta que llego el boom. Ejemplo son madExcept, EurekaLog. La biblioteca Jedi tambien tiene algo que se llama JCL Debug, que puede emitir dicha traza, pero nunca lo he usado. Lo otro simplemente los instalas, y se agregan un par de unidades en tu ejecutable y listo

tarco35 07-10-2016 20:47:38

Mirare a ver... porque, por ahora, solo falla en una surface 4 , y en dos portátiles con pantalla tactil...

AgustinOrtu 07-10-2016 23:24:54

Pero ahora que releo el hilo veo que en la primer imagen lograste reproducir el error y tenias el depurador conectado. Deberias poder ir a la linea de codigo que genero la exepcion. Cuando depuras, compilas el ejecutable con la informacion de depuracion? Es decir, compilas en modo "Debug" y no en "Release"

tarco35 07-10-2016 23:38:19

mas
 
Es que le instale de.forma remota el delphi 6, pero no le puse ningun componente, ni le subi los fuentes. Si tuviese el ordenador en mis manos podría metele todo, pero lo tiene el cliente y bastante lejos. Y en ninguno de otros que he probado falla

AgustinOrtu 08-10-2016 04:52:34

Usar JCL Debug no es tan dificil, este blog lo explica bien en ingles: http://blog.dummzeuch.de/2014/03/08/using-jcldebug/

tarco35 08-10-2016 10:01:09

debug
 
Ok, probare a ponerselo a ver que tal
Gracias por su ayuda

tarco35 25-11-2016 20:28:44

F1Book
 
Parece que se ha resuelto, aunque falta probar bastante mas.
Aparentemente el error, y no se porque, es que cuando se realiza la instalación del programa en la SURFACE PRO 4 de Microsoft (ya he probado en 2 tablets-pc de estas, la libreria VCF123.OCX no se registra bien y el componente F1Book lo uso en el programa.

Lo más extraño es que el error sale de forma aleatoria. Despues de ejecutarlo unas veces a los 3 minutos, otras a los 6.

Sin embargo, si habilito la ejecución del programa en modo administrador, al 8% de la ejecución (tengo un progressbar para indicar por donde va) es cuando rompe... y justo antes está el modulo que carga el form donde esta el F1Book.

Sigo probando... cuando tenga algo definitivo lo comento.
Gracias.


La franja horaria es GMT +2. Ahora son las 10:30:40.

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