Frage

Eines der Produkte, die wir entwickeln, ist ein Handy-App für Nokia-Handys in C gemacht ++ und Symbian haben wir begonnen, einen vor mit einer USER 44 Panik „random“ stürzt eine Weile zu bekommen.

Ich bin ziemlich neu in der symbian Umgebung, damit ich für Werkzeuge und Empfehlungen suche die Wurzel dieses Fehlers zu helfen, zu finden.

Gibt es ein Äquivalent eines „stack trace“, die ich bekommen kann? Gibt es allgemeine Panik zu kontrollieren Code, der mir einen Einblick in die es geben könnte?

War es hilfreich?

Lösung

http: // www. symbian.com/developer/techlib/v9.1docs/doc_source/reference/N10352/UserPanics.html :

This panic is raised by the Free() and FreeZ() member functions of an RHeap.
It is caused when the cell being freed overlaps the next cell on the free
list (i.e. the first cell on the free list with an address higher than the
one being freed).

Es bedeutet, Ihr Aufruf löschen / delete [] (was wiederum ruft Free () / FreeZ ()) mit einem ungültigen Zeiger. Wenn unter Carbide debuging die debuger auf der Linie brechen sollte, dass die Panik verursacht, und Sie sollten die ungültige Löschung sehen können.

Andere Tipps

Wie Kasprzol wies darauf hin, , durch den Debugger Schritt sollten Sie auf den Satz von Linien oder Routine verursacht die Panik verengen lassen. Sie sollten auch sicherstellen, dass Sie nicht auf eine andere Heap-Objekt übertragen, um einen Heap-Objekt, dessen Besitz (wahrscheinlich durch einen Methodenaufruf, die eindeutig nicht über diese Tatsache zu dokumentieren) zu löschen versuchen, wurde die bereits das Objekt gelöscht wurde, bevor Sie es explizit löschen . Ich habe vor von diesem gebissen.

Mein vagees Verständnis ist, dass der Benutzer 44 und USER 45 panics beide mit Haufen Problemen zu tun haben. Das häufigste Problem wäre eine doppelte Streichung sein. Sind NULL'ing Sie Ihre Zeiger nach ihnen zu löschen? Sind Sie Überprüfung gegen NULL bevor sie gelöscht werden? Wo könnte man Doppel Löschen etwas sein?

Die einfachste Wahl für das Debuggen ist wahrscheinlich 2,0 Carbide zu verwenden, da es voll funktions ist und frei zur Verfügung.

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