2016-04-28 11 views
0

Ich erhalte den Fehler "Vektor-Index außerhalb des Bereichs". Ich weiß, das bedeutet, ich habe einen nicht existierenden Index im Vektor aufgerufen. Aber wie kann ich den beleidigenden Vektor finden? Der Windows-Debugger scheint nicht viel zu helfen.Finde, wo ein Vektor-Index außerhalb des Bereichs liegt

+0

http://stackoverflow.com/questions/691719/c-display-stack-trace-on-exception –

+1

Wenn Sie keinen Debugger haben (oder nicht gerne arbeiten), könnten Sie einfach Teilen Sie große Teile Ihres Codes aus, bis der Fehler verschwindet, machen Sie dann einen Schritt zurück, geben Sie kleinere Teile aus und so weiter, bis Sie die entsprechende Zeile anstarren. – Beta

+1

Eine "outside-the-box" -Lösung besteht darin, den Vektor mit Ihrer eigenen Klasse zu überschreiben, die Ihren Index vor dem Aufrufen des echten Vektors überprüft und im Falle eines Index außerhalb des Bereichs Code übergeben hat, für den Sie einen Haltepunkt festgelegt haben. – mah

Antwort

0

Sie führen Ihr Programm in einem Debugger aus, und Sie fordern den Debugger auf, zu stoppen, wenn das Programm einen schwerwiegenden Fehler feststellt (in jedem Debugger, den ich gesehen habe, ist dies das Standardverhalten). Wenn das Programm abstürzt, fragen Sie den Debugger, welche Zeile er gerade ausführt.

Verwandte Themen