linux user group brescia

immagine del castello

Archivio della mailing list

come posso debaggare!?

Alberto Mainoni mainoni a tin.it
Gio 2 Gen 2003 17:37:44 UTC
Ciao,
ho scritto questa roba che legge la USB
int main()
{
   int    fd,res;
   unsigned int  conta;
   int    max;
   unsigned char   mychar[1000];
        fd = open("/dev/ttyUSB0", O_RDONLY);
        if (fd <0) {perror("/dev/ttyUSB0"); exit(-1); }
        conta = 0;
        max = 0;
        while (1) { 
          res = read(fd,mychar,255);
          printf("\nconta=%d,res=%d\n",conta,res);
          conta = 0;
          printf("conta=%d,res=%d\n",conta,res);
          while (conta < res)
          {
                printf("l_");
                if (!conta) printf("%d %x ",max,mychar[conta]);
                conta++;
                max++;
          }
        }
  close(fd);
  return(0);
}

quasto e' il risultato dei print-debug inseriti!
........
........
conta=0,res=62
l_23188 e0
l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_
conta=62,res=62
conta=0,res=62
l_23250 fc
l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_l_
conta=62,res=62
conta=0,res=62

qui il software si ferma.
in poche parole si ferma prima di entrare nel secondo while
dopo un numero di cicli puramente casuali nonostante conta e' minore di
res, ma sempre prima del secondo while con conta < res!!!!!!!!


Grazie 1000
Buon anno






Maggiori informazioni sulla lista Lug