Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2009
alvarovinu alvarovinu is offline
Registrado
 
Registrado: mar 2009
Posts: 5
Poder: 0
alvarovinu Va por buen camino
Bug en el depurador C++Builder 2007

La ejecución es correcta, pero el depurador no puede inspeccionar el elemento TDsg dsg en la siguiente situación:

#include <vcl.h>

// Incomplete definition
class TDsg;

class GVE_Graphic
{
private:
TDsg *dsg;

};
/* Error appears with any of these operators defined */
int operator==( GVE_Graphic &t1, GVE_Graphic &t2 )) { return(0 ); }
//int operator!=( GVE_Graphic &t1, GVE_Graphic &t2 ) { return(0 ); }
//int operator>=( GVE_Graphic &t1, GVE_Graphic &t2 ) { return( 0 ); }
//int operator<=( GVE_Graphic &t1, GVE_Graphic &t2 ) { return( 0 ); }
//int operator> ( GVE_Graphic &t1, GVE_Graphic &t2 ) { return( 0 ); }
//int operator< ( GVE_Graphic &t1, GVE_Graphic &t2 ) { return( 0 ); }

class TDsg
{
public:
int x;
TDsg() { x = 0; };
};

int main(int argc, char* argv[])
{
int a = 0;
TDsg dsg;
a = 1; //Breakpoint. Aquí ya no se puede inspeccionar dsg
return( 0 );
}


Al comentar el atributo (con el mismo nombre pero sin relación) de GVE_Graphic, TDsg dsg, el error desaparece y si permite inspeccionarlo (con el valor dado por la constructora x=0).

Para corroborar el bug, he depurado este mismo código con Visual C++(2008) y no me da problemas al realizar la inspección.

Alguna sugerencia?. Se ha reportado ya este error?. Como se evita?.

Muchas gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 13-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No termono de entender tu error.

Cita:
Empezado por alvarovinu Ver Mensaje

/* Error appears with any of these operators defined */
int operator==( GVE_Graphic &t1, GVE_Graphic &t2 )) { return(0 ); }
Tienes un error de sintaxis, sobra un cierre de paréntesis:

Código:
    /* Error appears with any of these operators defined  */
    int operator==( GVE_Graphic &t1, GVE_Graphic &t2 ) { return(0 ); }
Claro, que ese error evita que compile.
Lo he compilado en Builder 5 y el debugger hace bien su trabajo.

No tengo Builder 2007, mas no te puedo decir.

Saludos.
Responder Con Cita
  #3  
Antiguo 13-03-2009
alvarovinu alvarovinu is offline
Registrado
 
Registrado: mar 2009
Posts: 5
Poder: 0
alvarovinu Va por buen camino
Muchas gracias Escafandra.

En cuanto al error de sintaxis tienes toda la razón. Se me ha colado.

El problema es que al debuggear, poniendo un brekpoint en a = 1;

Cita:
Empezado por alvarovinu Ver Mensaje
int main(int argc, char* argv[])
{
int a = 0;
TDsg dsg;
a = 1; //Breakpoint. Aquí ya no se puede inspeccionar dsg
return( 0 );
}
No me permite inspeccionar el elemento dsg, sin ninguna razón aparente.

En cuanto al fallo del depurador (ejecutar, ejecuta bien), es algo bastante extraño. En el Builder 2007 a mi no me inspecciona nunca. He probado en CBuilder6 y tampoco me iba. Probamos en otro ordenador e iba y venía de forma intermitente.

No sé que pensar.......En cualquier caso muchas gracias Escafandra.

Un saludo!.
Responder Con Cita
  #4  
Antiguo 13-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ahora me acuerdo de haber leido un problema con el debugger del Builder 2007.

Determinados errores del debugger del BCB 2007 aparecen si no se ha instalado el Service Pack 3 de Builder.

Visita la web del fabricante, Embarcadero Technologies, donde puedes descargar de manera "gratuita" el Service Pack 3 (debes ser usuario registrado). Corrige los fallos y obtienes mejoras en él mismo software.

Saludos.
Responder Con Cita
  #5  
Antiguo 16-03-2009
alvarovinu alvarovinu is offline
Registrado
 
Registrado: mar 2009
Posts: 5
Poder: 0
alvarovinu Va por buen camino
Hola Escafandra.

Ya está puesta la actualización (Update 3 de Diciembre 2007 y hotfix posteriores) y sigue igual. Muchas gracias por tu ayuda Escafandra.

Un saludo!.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
duda juego c++ builder 2007 torrescrack9 C++ Builder 5 07-03-2009 23:51:37
builder 2007 y el include<math> elcaracas C++ Builder 1 08-09-2008 09:04:50
zeos lib para c++ builder 2007 2-D@monic Conexión con bases de datos 2 21-05-2008 03:57:12
instalacion de zeos lib en c++ builder 2007 2-D@monic C++ Builder 0 18-05-2008 06:55:52
C++ Builder 2007 rruz Noticias 0 15-05-2007 08:39:33


La franja horaria es GMT +2. Ahora son las 03:07:42.


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
Copyright 1996-2007 Club Delphi