![]() |
FMX Android64 Priviligierter Fehler
Hallo ich habe ein Problem mit einer Android 64 Bit Anwendung.
Ich wollte ein großes VCL Projekt (nichts visuelles aber dafür viel mit Variants, benutzerdefinierte Variants - also eigene definierte und Pointer) von win32 auf Android64 portieren. Zum Testen habe ich es zuerst mal auf win64 gebracht, und da läuft alles ohne Probleme. Nur unter Android kommt ab und an mal so ein komischer Priviligierter Error. Ich mache dabei nix anderes als auf einen Knopfdruck in einer Schleife 1000 mal die große Routine durchzulaufen. Bei Win64 klicke ich das 20 mal an und alles passt, bei Android kommt denn meiste beim 2ten oder 3ten klick dann der Fehler (also läuft so 2000-3000 mal ohne Probleme durch) Ich verteile per Debug over WLAN, und da funktioniert leider das Debuggen nicht wirklich bricht in Delphi immer nach so einer Minute hängen ab. Gibt es da noch andere Tricks wie ich da auf die schliche komme was an meiner Anwendung hier die Probleme verursacht? |
AW: FMX Android64 Priviligierter Fehler
Versuche mal an das Android Logcat Log zu kommen.
Auch Delphi Anwendungen schreiben da gerne rein. Leider liefert das Android SDK den Logcat Viewer nicht mehr mit. Mittels ADB.exe -logcat kann man das glaube ich auf der Console bekommen oder man sucht sich einen alternativen Viewer. Hab' nur leider gerade keine URL für einen zur Hand. Grüße TurboMagic |
AW: FMX Android64 Priviligierter Fehler
Okay danke, also mit dem logcat, da muss ich dann selber die logs einbauen oder?
Das wäre das?
Delphi-Quellcode:
Ich habe nun auch das noch gefunden
Uses
System.UITypes; begin log.d('Mein Text'); ![]() |
AW: FMX Android64 Priviligierter Fehler
Ja und nein:
Einerseits kannst du auf dem von dir beschriebenen Weg selber Logmeldungen schreiben, FMX/Delphi postet aber ab und zu auch automatisch in das Log. Grüße TurboMagic |
AW: FMX Android64 Priviligierter Fehler
Zitat:
![]() |
AW: FMX Android64 Priviligierter Fehler
Zitat:
der name lautet "com.embarcadero.TestApp" habe von "TestApp" "*TestApp", "com.embarcadero.TestApp" alles probiert - aber es bleiben keinerlei Logs stehen Mit durchscrollen habe ich 2 Warnings Errors gefunden
Code:
Setting show_button_background has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
Code:
win=Window{6efcebe u0 com.embarcadero.TestApp/com.embarcadero.firemonkey.FMXNativeActivity EXITING} destroySurfaces: appStopped=false cleanupOnResume=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.WindowState.onExitAnimationDone:5630 com.android.server.wm.WindowStateAnimator.onAnimationFinished:208 com.android.server.wm.WindowState.onAnimationFinished:5851 com.android.server.wm.WindowContainer$$ExternalSyntheticLambda4.onAnimationFinished:0 com
|
AW: FMX Android64 Priviligierter Fehler
Eine Frage zu dem "https://blog.grijjy.com/2017/02/21/b...art-2-android/" hat das irgendwer zum laufen gebracht?
Ich habe zwei Probleme 1. Sobald ich die Grijjy.ErrorReporting in den uses habe, dann bleibt der Splash Screen einfach hängen und geht nicht mehr weiter. 2. Man muss ja dem LD Linker zusätzlich angeben "--version-script=goExports.vsr" Habe das File im richtigen Ordner liegen (und er findet es - kontrolliert indem ich einen falschen Dateiname angebe, dann meckert er das er es nicht finden kann) bekomme ich den Fehler
Code:
goExports.vsr
[DCC Fehler] E2597 C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidNDK-21-22.0.48361.3236\android-ndk-r21\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\aarch64-linux-android\bin\ld.exe: anonymous version tag cannot be combined with other version tags
Code:
{
global: _ZN*; _ZZ*; }; |
AW: FMX Android64 Priviligierter Fehler
Also bei dem unit Grijjy.ErrorReporting;
musst ich das auskommentieren, dann starte die App wieder
Delphi-Quellcode:
Nur leider bekomme ich keine Info zu dem Stack also nur die Adressen ohne sonstige Infosconstructor TgoExceptionReporter.InternalCreate(const ADummy: Integer); .... { Assign the global ExceptionAcquired procedure to our own implementation (it is nil by default). This procedure gets called for unhandled exceptions that happen in other threads than the main thread. } // ExceptionAcquired := @GlobalExceptionAcquiredHandler; hat da noch wer einen tipp? |
AW: FMX Android64 Priviligierter Fehler
Zitat:
|
AW: FMX Android64 Priviligierter Fehler
Zitat:
![]() Ich meine aber, dass dies bei mir auch gut funktioniert, im Feld "Filter On Text", muss ich aber nochmal checken. Im Zweifelsfall aber nach der AppId in "Filter On Application" filtern, was dann den Vorteil hat, dass auch alle System-Events mitgeloggt werden, was bei der Fehlersuche sehr nützlich ist. <EDIT:> Ich sehe gerade: Es scheint in V2.1.0 auch insensitive drin zu sein. </EDIT> Ein Problem habe ich damit, dass längere Logs wohl speichertechnisch problematisch sind, denn die können sehr schnell extrem groß werden. Da schmiert DeviceLens bei mir schonmal schnell ab. Ich versuche daher immer nur kurz vor einem Test das DeviceLens aktiv zu schalten und dann sofort wieder aus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz