MS VS 2005 debugger poppt plötzlich auf

will2k

Mitglied
Hallo,

Wenn ich eine LKWnummer und LKWname eingebe zum 1. mal ist alles ok z.B. (5,truckster), wenn ich dann nochmals 5 eingebe sprich eine Übereinstimmung mit der Suche hat stattgefunden, dann springt plötzlich ein VS 2005 Fenster auf und möchte, dass ich diesen oder auch nicht als Debugger auswähle, egal was ich wähle danach wird meine windows konsolenanwendung beendet?

TEIL - Code:

Code:
struct LKW
  {
    int  iLKWnummer;   
    char sLKWname[256];
    

  };

  struct LKW *derLKW;


int LKWZaehler = 0; // Glober Zähler, jedesmal wenn ein LKW angelegt wird wird dieser hochgezählt


void legeanLKW()
  {

        if(LKWZaehler == 0)  // Annahme der LKWZaehler ist bei 0 sprich es wurde noch kein LKW angelegt
        {
          struct LKW *derLKW = malloc(sizeof(struct LKW));

          printf("Geben Sie eine LKWnummer ein: ");
          scanf("%i",&derLKW->iLKWnummer);
          fflush(stdin);

          printf("Geben Sie einen LKWnamen ein: ");
          scanf("%s",derLKW->sLKWname);
          fflush(stdin);

          LKWZaehler++;

          return;
        }
        else
        {
            int tempVorhanden;
            do
            {
                int tempLKWnummer;
                printf("Geben Sie eine nicht existierende LKWnummer ein: ");
                scanf("%i",&tempLKWnummer);
                fflush(stdin);

                tempVorhanden = sucheLKW(tempLKWnummer);

            }while(tempVorhanden==0);

          printf("Die LKWnummer existierte bereits, daher muessen Sie nur noch den LKWnamen eingeben: \n");

          printf("Geben Sie einen LKWnamen ein: ");
          scanf("%s",derLKW->sLKWname);
          fflush(stdin);

          LKWZaehler++;
        }
  }

  int sucheLKW(int tempLKWnummer)
  {
      int i;
      int LKWVorhanden;

      for(i= 0; i <= LKWZaehler; i++)
      {
          if(derLKW[i].iLKWnummer == tempLKWnummer)
          {
              LKWVorhanden = 1;
          }
          else
          {
              LKWVorhanden = 0;
          }
      }

      return LKWVorhanden;
  }
da ich net weiß wie mit dem debugger umgehen etc. habe ich mal vor die for-schleife und danach dies gesetzt:

printf("Ich bin vor der for schleife");
printf("Ich bin nach der for schleife");

das vor wird ausgegeben, das danach nicht sprich mit dem Vergleich stimmt was nicht...
 

fish-guts

Erfahrenes Mitglied
Hallo

Die Fehlermeldung des debuggers wäre hier noch hilfreich.

Deine Globale Variabel (LKWZaehler) würde ich noch als static definieren. Aber ohne die Fehlermeldung kann ich nicht genau sagen, wo der Fehler liegt.

Gruss

FG
 

will2k

Mitglied
das ist die alte meldung:


zugnummer: 5 habe ich eben vorher schon eingegeben, daher die fehlermeldung...

Dann dies in der Codeblocks IDE als ich debuggen wollte(weiß aber nicht was ich genau machen muss... habe an der for schleife einen breakpoint gesetzt !!)

wenn ich das ganze debuggen will kommt dies:



das kann aber nicht sein, denn der debugger ist gesetzt... OMG ... schön gerade nochmals gesucht unter Mingw/bin und da ist kein gdb.exe na toll so eine schrott IDE stellt mir das irgendwelche werte rein? wieso hat das mingw keine debugger kann doch net sein?


Also jetzt wechsel ich doch tatsächlich den compiler von GCC auf intel compiler und wieder zurück und NICHTS geht mehr, ich könnt kotzen Wenn ich net unter Zeitdruck währe doch so fuck codeblocks sorry für den Ausfall aber das ist die letzte IDE.

ompiling: bla.c
Execution of 'mingw32-gcc.exe -Wall -O2 -c D:\\lkwverwaltung\bla.c -o obj\Release\bla.o' in 'D:\\lkwverwaltung' failed.
Nothing to be done.

Nochmals compiler geändert und neustart jetzt gehts , WTF ?
 
Zuletzt bearbeitet:

Endurion

Erfahrenes Mitglied
Ich vermute mal, es liegt daran, dass du beim ersten Neuanlegen einen lokalen derLKW-Pointer hast, in den anderen Funktionen dann aber auf den globalen zugreifst.