Es ist schon Tage her, herauszufinden, worum es bei diesem Fehler genau geht und wo das Debuggen beginnt. Alles funktionierte gut, bis ich ein paar Änderungen an meinen AppDelegate.cpp
und AppDelegate.h
Dateien (für das Hinzufügen unterschiedlicher Bildschirmauflösung für verschiedene Geräte) vorgenommen habe. Ich habe sogar versucht, beide durch die in der Vorlage zu ersetzen. ..\cocos2d-x-3.4\templates\cpp-template-default\Classes
aber immer noch kein Glück. Jedesmal, wenn ich meine app laufen stürzt es mit dem Fehler nach unten:Fehler Fatal signal 11 (SIGSEGV) cocos2d-x android
A/libc(26081): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 26112 (GLThread 957)
Was verstehe ich tat, war, dass Signal 11
Segmentierungsfehler ist. Das bedeutet, dass das Programm versucht, auf den Speicher zuzugreifen, für den es keine Berechtigung hat, aber wohin gehe ich, um die Dinge jetzt funktionieren zu lassen?
LogCat:
06-24 10:59:03.737: D/JniHelper(26081): JniHelper::setJavaVM(0xf4e7c000), pthread_self() = -150738124
06-24 10:59:03.749: D/main(26081): cocos_android_app_init
06-24 10:59:03.759: D/Cocos2dxActivity(26081): model=Nexus 6P
06-24 10:59:03.759: D/Cocos2dxActivity(26081): product=angler
06-24 10:59:03.760: D/Cocos2dxActivity(26081): isEmulator=false
06-24 10:59:03.801: I/Adreno(26081): QUALCOMM build : 63c06b2, I8366cd0437
06-24 10:59:03.801: I/Adreno(26081): Build Date : 12/06/15
06-24 10:59:03.801: I/Adreno(26081): OpenGL ES Shader Compiler Version: XE031.05.13.02
06-24 10:59:03.801: I/Adreno(26081): Local Branch : mybranch17112971
06-24 10:59:03.801: I/Adreno(26081): Remote Branch : quic/LA.BF64.1.2.9_v2
06-24 10:59:03.801: I/Adreno(26081): Remote Branch : NONE
06-24 10:59:03.801: I/Adreno(26081): Reconstruct Branch : NOTHING
06-24 10:59:04.193: A/libc(26081): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 26112 (GLThread 957)
Könnte dies durch mehr als ein Thread auf einmal die gleiche native Methode auf demselben Objekt Aufruf verursacht werden? Wenn ja, wie kann ich möglicherweise synchronisieren und sicherstellen, dass der Code threadsicher ist? Ich habe auch andere Geräte überprüft, um zu bestätigen, dass es sich nicht um einen Fehler in der Firmware des Geräts handelt.