AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi FMX Android64 Priviligierter Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Android64 Priviligierter Fehler

Ein Thema von Gruber_Hans_12345 · begonnen am 8. Feb 2024 · letzter Beitrag vom 13. Feb 2024
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

FMX Android64 Priviligierter Fehler

  Alt 8. Feb 2024, 14:00
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?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Android64 Priviligierter Fehler

  Alt 9. Feb 2024, 12:08
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
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#3

AW: FMX Android64 Priviligierter Fehler

  Alt 10. Feb 2024, 05:58
Okay danke, also mit dem logcat, da muss ich dann selber die logs einbauen oder?
Das wäre das?
Delphi-Quellcode:
  Uses
     System.UITypes;
   begin
     log.d('Mein Text');
Ich habe nun auch das noch gefunden https://blog.grijjy.com/2017/02/21/b...art-2-android/ das werde ich dann auch noch testen
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX Android64 Priviligierter Fehler

  Alt 10. Feb 2024, 14:19
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
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX Android64 Priviligierter Fehler

  Alt 10. Feb 2024, 16:07
Leider liefert das Android SDK den Logcat Viewer nicht mehr mit.
Es gibt aber auch sehr gute Alternativen:
https://github.com/DelphiWorlds/DeviceLens
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#6

AW: FMX Android64 Priviligierter Fehler

  Alt 12. Feb 2024, 07:51
Leider liefert das Android SDK den Logcat Viewer nicht mehr mit.
Es gibt aber auch sehr gute Alternativen:
https://github.com/DelphiWorlds/DeviceLens
Den habe ich ausprobiert, das mit dem Filter habe ich nicht verstanden wie der funktioniert.
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
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#7

AW: FMX Android64 Priviligierter Fehler

  Alt 12. Feb 2024, 08:15
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:
[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
goExports.vsr
Code:
{
  global:
    _ZN*;
    _ZZ*;
};
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#8

AW: FMX Android64 Priviligierter Fehler

  Alt 12. Feb 2024, 09:53
Also bei dem unit Grijjy.ErrorReporting;
musst ich das auskommentieren, dann starte die App wieder

Delphi-Quellcode:
  
constructor 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;
Nur leider bekomme ich keine Info zu dem Stack also nur die Adressen ohne sonstige Infos
hat da noch wer einen tipp?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#9

AW: FMX Android64 Priviligierter Fehler

  Alt 12. Feb 2024, 12:55
Leider liefert das Android SDK den Logcat Viewer nicht mehr mit.
Es gibt aber auch sehr gute Alternativen:
https://github.com/DelphiWorlds/DeviceLens
Den habe ich ausprobiert, das mit dem Filter habe ich nicht verstanden wie der funktioniert.
der name lautet "com.embarcadero.TestApp" habe von "TestApp" "*TestApp", "com.embarcadero.TestApp" alles probiert - aber es bleiben keinerlei Logs stehen
Einfach auf FMX: filtern. Log.d setzt immer ein FMX: vor die eigentliche Message. Damit sollten dann alle Log.d von deiner Anwendung zu sehen sein.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#10

AW: FMX Android64 Priviligierter Fehler

  Alt 13. Feb 2024, 09:08
Den habe ich ausprobiert, das mit dem Filter habe ich nicht verstanden wie der funktioniert.
der name lautet "com.embarcadero.TestApp" habe von "TestApp" "*TestApp", "com.embarcadero.TestApp" alles probiert - aber es bleiben keinerlei Logs stehen
Der Filter akzeptiert momentan glaube ich nur case-sensitive Strings.
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.

Geändert von Rollo62 (13. Feb 2024 um 09:14 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz