Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8


Ir a la página 1, 2  Siguiente

Objetivo: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
buenas,

que mejor que aprovechar un error de programación para dar la posibilidad de aprender algo nuevo.

el programa taller 0.3.8 tiene un error grave Overflow.

el objetivo del reto es encontrar el código erróneo corregirlo y crear un parche.

enviarlo a antes de los 15 días después de publicado el reto, (enviar solo el parche)
si el parche corrige el error has resuelto el reto y se publicara la lista de quienes lo resolvieron.

saludos.

Lista de Usuarios que resolvieron el reto:

1- Shell Martes, 17 Enero 2017, 23:05

última edición por v3ctor el Miercoles, 18 Enero 2017, 02:06; editado 1 vez
Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
una ayudita para los novatos.

tienes que bajarte el código fuente de taller 2015 versión 0.3.8 que esta en sourceforge(ese contiene el error)
abre el proyecto, ejecuta el programa y ve donde esta el error, repara el error.
después vas a Proyecto-->parchear y te pedirá el paquete con el archivo fuente que contiene el error y te creara el parche
ese archivo lo envías a mi correo.

saludos.

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
v3ctor:

Acabo de bajarlo. Veré que puedo hacer.
Supongo que el error se crea nada más ejecutarlo. Por que lo es buscar en que momento se produce, puede
llevar más tiempo.

Estuve buscando overflow (desbordamiento).

Desbordamiento de búfer

¿ Qué pasó al final con la versión que tenías en la granja ?. Un día comentabas de que se había borrado algo.

Saludos

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Me gustaría comentar que:

La aplicación no se cuelga, al menos lo que he visto desde la primera ejecución desde fuente. Es que salta antes otro error. Aunque tu lo tienes bien definido ese problema.
Es que si ese no lo solucionaste la aplicación no funcionaría nada.

He visto otro, pero ese no lo voy a comentar por ahora. ( Puede que sea el problema del reto )
Por cierto, ¿ que tiempo llevas con Taller ?. ( Para que veas por que no hago una aplicación completa ).

P.d Oye, esto es una publicidad para que la gente se baje la aplicación, ¿ no ?..

Saludos

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
pista 1

pista1


pista 2
bugtracker de taller2015 en este foro

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Shell escribió:  
Me gustaría comentar que:

La aplicación no se cuelga, al menos lo que he visto desde la primera ejecución desde fuente. Es que salta antes otro error. Aunque tu lo tienes bien definido ese problema.
Es que si ese no lo solucionaste la aplicación no funcionaría nada.

He visto otro, pero ese no lo voy a comentar por ahora. ( Puede que sea el problema del reto )
Por cierto, ¿ que tiempo llevas con Taller ?. ( Para que veas por que no hago una aplicación completa ).

P.d Oye, esto es una publicidad para que la gente se baje la aplicación, ¿ no ?..

Saludos


me interesa saber que errores descubriste, pasa la data cuando tengas un tiempito, saludos.

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Un error que se produce al iniciarse en el ordenador del trabajo y no lo hace en el de casa, lo tienes en la lista de tareas

Línea 122. Clase Respaldo. Da error si la carpeta no esta montada o no existe.
Public Sub Respaldar(Optional forzar As Boolean, Optional manual As Boolean, Optional ruta As String, Optional nombre As String) As Boolean

If Not IsNull(ruta) Then $RutaDestino = ruta

If Not Access($RutaDestino) Then
Return False 'nueva a prueba
Endif

If manual Then
If IsNull(nombre) Then
$Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RM" 'RM=Respaldo Manual
Else
$Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RM_" & nombre
Endif
Else
$Rutafinal = $RutaDestino &/ $NameArchivo & "_" & Replace$(CString(Date), "/", "-") & "_RA" 'RA=Respaldo Automático
Endif

If Exist($Rutafinal) Then
If forzar Then
Kill $RutaFinal
Wait 0.1
Copy $RutaOrigen To $RutaFinal
If Not manual Then $FechaUltimoRespaldo = Now
Return True
Else
Return False
Endif
Else
'Añadido de Shell: Creo la ruta que contiene la variable $RutaFinal
Mkdir $Rutafinal
Copy $RutaOrigen To $RutaFinal 'TODO:da error si la carpeta no esta montada o no existe arreglar
If Not manual Then $FechaUltimoRespaldo = Now
Return True
Endif

End

Esa modificación que ves que he hecho, en el de casa le da igual.

Añadiendo esa modificación en el ordenador del trabajo, he podido acceder
al icono de mostrar ordenes ( el dibujo de la casa) , mostrando un dibujo en el fondo de la ventana principal.
(Ordenadores)

Este el procedimiento que falla en el ordenador del trabajo, usando la modificación que he añadido al crear el directorio.

Public Sub RespaldoAutomatizado()
Dim periodo As Byte
Dim UltimoRespaldo As Date


periodo = Settings["RespaldoAutomatico/Periodo", 1]


If IsNull(Settings["RespaldoAutomatico/FechaUltimoRespaldo"]) Then
Settings["RespaldoAutomatico/FechaUltimoRespaldo"] = CString(Now) 'original
Settings.Save
Wait 0.1
UltimoRespaldo = CDate(Settings["RespaldoAutomatico/FechaUltimoRespaldo"])
Else
UltimoRespaldo = CDate(Settings["RespaldoAutomatico/FechaUltimoRespaldo"])
Endif

RespaldoBD = New Respaldo(periodo, RutaBaseDatos, DirRespaldos, UltimoRespaldo)

If Settings["RespaldoAutomatico/Activado", True] = True Then
If RespaldoBD.UltimoRespaldo() Then
If RespaldoBD.Respaldar() Then
Ventanas.EjecutarSonido(FMain.SError)
Ventanas.Mgv1.Open("<b>Se respaldo correctamente en:</b><br>" & RespaldoBD.RutaFinal)
Settings["RespaldoAutomatico/FechaUltimoRespaldo"] = RespaldoBD.FechaUltimoRespaldo
Settings.Save
Else
Ventanas.Mgv1.Open("<b>No se pudo respaldar en:</b><br>" & DirRespaldos)
Endif
Endif
Endif


Se ejecuta esta linea:

Ventanas.Mgv1.Open("<b>No se pudo respaldar en:</b><br>" & DirRespaldos)


No he creado una base, ojo. Solo ejecuto la aplicación por primera vez.
En el ordenador de casa me ha dado tiempo a ver el error que tu quieres para el reto. Es un desbordamiento en un bucle while.

Parecen errores de cosas que o no se han creado o que pueden faltar al inicio de la aplicación por primera vez.

A ver que me dices.

Saludos

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Bien. Pues ahora ya funciona sin problemas. No tengo ni idea el motivo.
He solucionado el problema del desbordamiento.

Luego te envío el parche.

Saludos

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Shell escribió:  
Bien. Pues ahora ya funciona sin problemas. (en realidad no es que funcione sino que no se cuelga que es diferente)


No tengo ni idea el motivo. (esto no lo sabes porque no tienes bien claro el error y como se arregla,pero... estas cerca)

He solucionado el problema del desbordamiento.

Luego te envío el parche.

Saludos



el parche tiene que ajustarse al reto, solo solucionar el problema de desbordamiento y además que el programa funcione correctamente en esa parte del código, pues con tu parche no se muestran los datos que deberían mostrarse.

estas cerca pero no has solucionado el reto
saludos.

Objetivo: Re: Reto 13(v3ctor) Parchea Taller 2015 V 0.3.8
Bueno, puedo cambiar el parche. Pero de todas maneras te preguntaré por privado para no dar pistas a los demás.

Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.5231s (PHP: -66% SQL: 166%)
Consultas SQL: 46 - Debug off - GZIP Activado