Unbekannter Softwarefehler



  • hallo leute ...

    kennt jemand folgenden fehler:

    Die Ausnahme "Unbekannter Softwarefehler"(0x0eedfade) ist in der Anwendung an der Stelle 0x77e8e8bb aufgetreten.

    hab schon soziemlich alles durchgeguckt, aber nix gefunden. ich kann nichtmal richtig den bereich eingrenzen wo der fehler liegen koennte. deshalb wird source posten wahrscheinlich auch nix bringen. der hat ca 7000 zeilen.
    meistens kommt der fehler bei ner ShowMessage(); kommt aber auch zeitweisse in ner callback-function vor.

    Meep Meep



  • Das hört sich so an, als ob Du mit einem Ptr wild im Speicher rumfurwerkst, den Stack niedermachst oder bei einem Array über die Grenzen gehst. Ist schwer einzugrenzen, wenn es das ist.... Das hilft im Zweifel nur Debuggen und alle Stellen nach und nach abklopfen... Oder verschärft in den Source kucken...



  • Hi,

    du kannst auch einfach immer große Quelltextteile auskommentieren und dich so an das problem raarbeiten.

    tommi



  • halloechen

    hab den fehler nun (hoffendlich richtig) eingrenzen koennen.

    mal n bisschen source:

    // meine CALLBACK-Funktion von waveInOpen
    void CALLBACK wInCb(HWAVEIN handle,UINT msg,DWORD Instance,DWORD p1, DWORD p2)
    {
       switch(msg)
       {
          case WIM_OPEN  : break;
          case WIM_DATA  :
          {
             TxlVoiceAudio *temp;
             temp = (TxlVoiceAudio*)Instance; 
             ShowMessage("WIM_DATA Aufruf: " + IntToStr(Instance));
             temp->NextInputBuffer();  // (2)
             break;
          }
          case WIM_CLOSE : break;
       }
    }
    
    // waveInOpen
    int TxlVoiceAudio::OpenWaveInput(void)
    {
       MMRESULT mmr;
       mmr = waveInOpen(&hwin,WAVE_MAPPER,&inWfx,(DWORD)wInCb,(DWORD)this,CALLBACK_FUNCTION); // (1)
       if(mmr)
       {
          ShowMessage("waveInOpen: FehlerCode " + IntToStr(mmr));
          return mmr;
       }
    }
    
    // diese Methode schiebt den naechsten buffer nach
    void TxlVoiceAudio::NextInputBuffer(void)
    {
       CurrentBuffer += (CurrentBuffer == BufferCount) ? (-BufferCount) : 1;
       waveInAddBuffer(hwin,&waveHdrIn[CurrentBuffer],sizeof(waveHdrIn[CurrentBuffer]));
    }
    

    die fehlermeldung kommt immer dann wenn ich von der callbackfunktion die NextInputBuffer-Funktion (2) aufrufe.
    sieht da jemand einen fehler ?

    Meep Meep


Anmelden zum Antworten