elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  función de seguimiento de errores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: función de seguimiento de errores  (Leído 4,213 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
función de seguimiento de errores
« en: 20 Junio 2010, 06:52 am »

Buenas a todos, estoy haciendo un proyecto de fin de curso, y para el programa, he creado una función para el seguimiento de errores, dentro de la ejecución del programa.

Tengo 3 variables, estado (Que cambia al pasar por cada función) Estado de error (Que mostrará un mensaje de error en caso de ser llamada) y contador de errores, para llevar la cuenta de errores en ejecución.

Os presento el código, a ver qué opináis. Pd. Borland C++ 3.1

Código
  1. #include <stdio.h>
  2.  
  3. #define STATE_A 0
  4. #define STATE_B 1
  5.  
  6. typedef struct FGE
  7. {
  8. unsigned int fState;
  9. unsigned int fStateError;
  10. unsigned int fContError;
  11. };
  12.  
  13. unsigned int sasfid();
  14.  
  15. int main(void)
  16. {
  17. if (sasfid()!=0)
  18. {
  19. fprintf(stdout, "Error en sasfid\n");
  20. return -1;
  21. }
  22. else return 0;
  23. }
  24.  
  25. unsigned int sasfid()
  26. {
  27. FGE Actual;
  28. Actual.fState =STATE_A;
  29. Actual.fStateError =STATE_A;
  30. Actual.fContError =STATE_A;
  31.  
  32. if (Actual.fState!=0 && Actual.fStateError!=0 && Actual.fContError !=0) return STATE_B;
  33. else return STATE_A;
  34. }

Como digo, por ahora solo es parte del proyecto, esto va a sufrir muchas modificaciones de seguro xD


En línea

M3LiNdR1

Desconectado Desconectado

Mensajes: 131



Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #1 en: 20 Junio 2010, 17:17 pm »

Código
  1. unsigned int sasfid()
  2. {
  3. FGE Actual;
  4. Actual.fState =STATE_A;
  5. Actual.fStateError =STATE_A;
  6. Actual.fContError =STATE_A;
  7.  
  8. if (Actual.fState!=0 && Actual.fStateError!=0 && Actual.fContError !=0) return STATE_B;
  9. else return STATE_A;
  10. }


Pero por lo que veo, esta función siempre te va a devolver lo mismo, STATE_A. Supongo que le pasaras Actual como parametro de entrada, no?


En línea

Va baixar davant dels meus...ulls molt suaument...sense alterar la quietud de la nit,amb un somriure ple de confiança com sino se li escapes res...


C/C++ - Prolog - Java - PHP - Python - SQL - ASP.NET - C# - javascript
cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: función de seguimiento de errores
« Respuesta #2 en: 20 Junio 2010, 17:42 pm »

Es cierto, esa función siempre devolverá 0. ¿No sería conveniente que se pase la estructura a analizar a sasfid?
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #3 en: 20 Junio 2010, 22:02 pm »

Ademas de lo ya mencionado, tenes declarada mal la estructura...

Código:
typedef struct FGE
{
unsigned int fState;
unsigned int fStateError;
unsigned int fContError;
} FGE;

Salu10.
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #4 en: 20 Junio 2010, 22:05 pm »

La estructura funciona tal y como está, trabajo en Borland C++ 3.1  :P

Y siempre devuelve STATE A porque está bien, el objetivo es que me devuelva B si hay algún error inicializando variables (En el ejemplo no, pero en el proyecto tengo mas)

También decir que sustituí && por ||.
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #5 en: 20 Junio 2010, 22:22 pm »

Cita de: Daemon Freedom
La estructura funciona tal y como está, trabajo en Borland C++ 3.1  :P

Daemon Freedom, mandalo a la papelera ;D

Cita de: Daemon Freedom
Y siempre devuelve STATE A porque está bien, el objetivo es que me devuelva B si hay algún error inicializando variables

Mmmmm tendrias que explicarte un poco mejor, porque yo la verdad no entiendo cual seria la funcionalidad :P

Salu10.
En línea

cbug

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: función de seguimiento de errores
« Respuesta #6 en: 20 Junio 2010, 22:30 pm »

Citar
Y siempre devuelve STATE A porque está bien, el objetivo es que me devuelva B si hay algún error inicializando variables
Citar
Mmmmm tendrias que explicarte un poco mejor, porque yo la verdad no entiendo cual seria la funcionalidad

¿Que devuelva error al inicializar una variable? ¿Cómo sucederá esto si se supone que estás inicializando bien dicho campo de la estructura, en cualquier otro caso el compilador es el que informará el error cierto?

No entiendo la finalidad  :xD
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #7 en: 20 Junio 2010, 22:53 pm »

A ver, esto está destinado para programas grandes, donde es probable que haya errores y se quieres hacer un seguimiento de ellos (Independientemente del compilador) y me basé en algo del arduino, en la sentencia setup, la cual se usa par inicializar cosas.

Por lo cual, al inicializar todo, puede haber cualquier tipo de error (Todos somos humanos,  :P) así que en caso de haber algo mas iniciado, que no detecta el compilador, y que nos puede dar problemas, devolvemos B y fin.

De todas formas como dije, le quedan muuuchas modificaciones, y a todo el código, no solo a esa parte
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #8 en: 20 Junio 2010, 23:48 pm »

Cita de: Daemon Freedom
La estructura funciona tal y como está, trabajo en Borland C++ 3.1  :P

Daemon Freedom, mandalo a la papelera ;D


+= 1
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: función de seguimiento de errores
« Respuesta #9 en: 21 Junio 2010, 00:05 am »

Cita de: Daemon Freedom
La estructura funciona tal y como está, trabajo en Borland C++ 3.1  :P

Daemon Freedom, mandalo a la papelera ;D


+= 1

Ojalá, pero es el que me hacen usar en clase. En casa programo bajo GCC no os preocupéis XD
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
La función anti-seguimiento llega también a Safari
Noticias
wolfbcn 0 1,157 Último mensaje 14 Abril 2011, 21:24 pm
por wolfbcn
Ayuda con función (Errores raros)
Programación C/C++
bsantana 4 1,854 Último mensaje 12 Abril 2016, 05:42 am
por bsantana
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines