Symbian: wie Stack-Trace auf Panik zu bekommen, wenn auf dem Gerät läuft?
-
01-10-2019 - |
Frage
Könnte jemand bitte geben Sie mir einen Hinweis darüber, wie Stack-Trace in Symbian zu bekommen. Ich erlebe KERN-EXEC 0 Panik, aber es kann den Ursprung nicht gefunden werden. Ich habe andere SO Fragen gesehen darüber, wie href="https://stackoverflow.com/questions/3575371/debugging-panics-in-symbian-os-usnig-carbide-c"> , aber es gibt nur eine Beschreibung, wie dieses Problem auf Emulator zu lösen. Aber mein Programm befasst sich mit Wi-Fi und haben auf dem Gerät ausgeführt werden. Vielleicht gibt es eine Möglichkeit, den Stapel mit verfolgen oder Pause in Panik?
Lösung
Ich hatte das gleiche Problem, das das Betriebssystem Ihnen keine Hilfe überhaupt gibt.
Was ich tat, was mein Problem gelöst und tatsächlich hilft viel, es mit Ihrer eigenen Hand-Stack-Trace Umsetzung zu entwickeln. Siehe Teile meiner Version href="https://stackoverflow.com/questions/3575371/debugging-panics-in-symbian-os-usnig-carbide-c---"> (was passiert, um die gleiche Frage, die Sie verknüpfen).
Meine Antwort hat viele Vor- und Nachteile.
- Pro - Sie einen guten Stack-Trace erhalten, die eine Menge in das Debuggen hilft .
- Con -. Viel Handarbeit zu implementieren und zu pflegen
- Con -. Verlangsamungen verursachen kann die Leistung (I gesetzt Mine, so es nur kompiliert wird für Debugbuilds nur)
Andere Tipps
KERN-EXEC 0 bedeutet Sie einen schlechten Griff verwenden, so dass alle Ihre RClasses überprüfen.
Sie können nicht System debuggen stürzt auf einer Produktionseinrichtung. Wenn Sie eine benutzerdefinierte ROM für Ihr Gerät aufbauen können, dann können Sie die Kernel-Erweiterungen „exmondebug.dll“ enthalten und „exmoncommon.dll“, jetzt, wenn das Gerät abstürzt wird es Sie in den Debug-Monitor fallen. Von hier aus können Sie das Passwort „Ersatz“ Dump heraus alle Systemstapel etc .. (Typ Hilfe für weitere Informationen) eingeben.
Wenn Sie keinen Zugriff auf Entwickler-Hardware haben, können Sie benutzerdefinierten Symbian ^ 2 und Symbian ^ 3-ROM-Images auf QEMU mit dem Syborg baseport , ich glaube nicht, dass Wi-Fi-Unterstützung hat, aber es ist ein Ethernet-Treiber.
Sie nicht Ihre Protokolle geben Ihnen einen Tipp? Fügen Sie weitere Protokolle rund um den Ort stürzt oder Kommentar aus einigen Blöcken zu sehen, ob der Absturz in ihnen geschieht.