Re: [eside-ghost] Comportamiento extraño de un programa
STenyaK (Bruno Gonzalez)
stenyak en gmail.com
Sab Abr 12 00:05:56 CEST 2008
On 4/11/08, txipi <txipi en sindominio.net> wrote:
>
> Aupa!
>
> Quizá hablo un poco al pedo y no tiene mucho sentido lo que digo, pero
> como pedías alguna idea, aquí va... O:-DDD
Jej, algo es algo :-)
en la línea result+="adios" se modifica la posición de memoria de result
> +loquesea y es normal que se dé cuenta de que la línea de source ha
> sido ejecutada, pero en "return result" como en la anterior línea se ha
> trabajado con result, ya está su referencia en EAX y el return result
> no tiene que hacer nada, solamente volver, por eso quizá el gcov no se
> pispa.
El tema es... que esa misma estructura la uso (aparentemente) tb en otros
lugares, en los que el code coverage me da 100% como debería ser. La única
diferencia q veo a primera vista, es que tienen algun bloque de código justo
antes (un if o algo).
En el otro caso, como hay que crear "lalala" en memoria para luego
> devolver su dirección, gcov se da cuenta fácil.
>
> ¿Podrías probar a meter algo de código que no trabaje con result entre
> result+=" adios"; y return result para ver si tiene sentido lo que digo?
>
Weno, ya copypasteo directamente las pruebas.
result += "/"; //N>0
result += Loggable::getId(); //N>0
int lala = 1; //N>0
return result; //N=0
Lo mismo con esto:
result += "/"; //N>0
result += Loggable::getId(); //N>0
int lala = 1; //N>0
if (lala) //N>0
++lala; //N>0
return result; //N=0
Cambiamos un poco...:
result += "/"; //N>0
result += Loggable::getId(); //N>0
int lala = 1; //N>0
if ( ! lala) //N>0
++lala; //N=0
return result; //N=0
Total, que ya harto he puesto en uso la técnica del microdebugging (por
llamarlo de alguna forma): separar los tokens por líneas. No sé como se
lleva esta técnica con gcov, pero weno, por si arroja algo de luz:
result += "/"; //N>0
result += Loggable::getId(); //N>0
return //N>0
result //N>0
; //N=0
En todos los casos, el código hace lo que debería.
Hace siglos que no toco assembly (menos aun en linux), asi que no me meteré
en berenjenales asi (al menos de momento) :-)
Thanks!
--
Saludos,
Bruno González
_______________________________________________
Msn/Jabber: stenyak AT gmail.com
ICQ: 153709484
http://www.stenyak.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20080412/588d684d/attachment.htm
Más información sobre la lista de distribución eside-ghost