Frage

Ich habe einen Code, in dem der Anruf erfolgt push_back schlägt bei mir fehl.Die MDB gibt mir den folgenden Hinweis.

:: Demmalloc+0x49 ~ Malloc+0x49 ~ == malloc+0x49 ~ :: Dem __1cialLocate4Cpngrnc_jo__6fipta_3_+0x2a ~ __1cialLocate4cpngrnc_jo__6fipta_3_+0x2a ~ == __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __1CALGN ~ == __ __ __ __ __ __ __ __ __ __ __ __ __ __ __- Jo__iallocate6mi_p1_+0x20 ~ __1cjallocator4cpngrnc_jo__ialLocate6Mi_P1_+0x20 ~ == RNC_JO ** Allocator :: zuordnung :: dem __1cgVector4cpngrnc_jo__kinsert_aux6mp1rk1_v_+0xac __1cgVector4cpngrnc_jo__Kinsert_aux6mp1rk1_v_+0xac == void Vector :: 1_v_+0x4e __1cgVector4cpngrnc_jo__jpush_back6mrk1_v_+0x4e == void vector :: push_back :: dem __1cialLocate4cpnc_jo__6fipta_+0x2a __1cialLocate4CPNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRNGRN. e_0*zuweisen: : Dem __1cgVector4cpngrnc_jo__jpush_back6mrk1_v_+0x4e __1cgVector4cpngrnc_jo__jpush_back6mrk1_v_+0x4e == void vector :: push_back`

Ich weiß nicht. Wie kann das behoben werden?Was ich weiß, ist, dass es einen zugewiesenen Speicherplatz gibt, der tatsächlich größer als die Vektorgröße ist.Wenn dieser Speicherplatz belegt ist, werden alle Daten neu zugewiesen und an den zweiten Speicherort kopiert.

Was ich auch weiß, dieser Vektor macx_size ist ein sehr großer Wert und dies sollte für meinen Code nicht fehlschlagen, da ich nicht so viele Werte einfüge.Können Sie mir sagen, wofür ich debuggen soll?

War es hilfreich?

Lösung

Eine Möglichkeit zur Überprüfung besteht darin, den freien Speicher auf Ihrem System zusammen mit dem Speicher zu überwachen, den Ihre Anwendung verwendet.

  • Wenn die Speichernutzung Ihrer Anwendung weiter zunimmt, liegt wahrscheinlich ein Speicherverlust vor.
  • Wenn weniger freier Speicher vorhanden ist, als Ihre Anwendung benötigt, liegt ein Ressourcenproblem vor.

Andere Tipps

Dies scheint ein Speicherproblem zu sein. Ich bezweifle, dass die Liste vor dem Aufruf von push_back abnormal ist.Mein Vorschlag ist, die Vorgänge in dieser Liste Schritt für Schritt zu reduzieren, um herauszufinden, welcher Vorgang dazu führt, dass die Liste abnormal ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top