Forum: PC-Programmierung fpc/Lazarus: access violation auf Raspberry Pi 1


von Gartenbahner (Gast)


Lesenswert?

Hallo zusammen,
ich hoffe, ich bin mit diesem Beitrag im richtigen Forum gelandet...

Gibt es Einschränkungen bei fpc bezüglich Raspi1? Habe rumgegoogelt, 
aber nichts brauchbares gefunden.
Zur IDE findet man einiges, zu erzeugten Programmen kaum was.

Hintergrund:
Ich habe einen Daemon programmiert, der nur ein Gerät über Netzwerk 
abfragt und das Ergebnis per Netzwerk weitergibt. Nichts 
raspi-spezifisches also.
Auf dem PC unter Linux kompiliert und läuft dort einwandfrei.
Auf Raspi3 kompiliert: Binary läuft auf Raspi3 und Raspi2 einwandfrei.

Auf Raspi1 kriege ich direkt nach dem Start folgende Meldung:
An unhandled exception occurred at $0001A2BC:
EAccessViolation: Access violation
  $0001A2BC

Heap dump by heaptrc unit
An unhandled exception occurred at $0001B9E8:
EAccessViolation:
  $0001B9E8

Eigentlich sollte der daemon mit Parameter --help nur in DoRun() hüpfen, 
bißchen Text ausgeben und dann beenden. So weit scheint er aber gar 
nicht zu kommen. D.h. er stürzt anscheinend schon innerhalb der 
FPC-Units ab.
Einziger Unterschied, der mir bislang eingefallen ist: Raspi1=ARMv6, 
Raspi2=ARMv7. Also bei den Projekteinstellungen mal ARMv6 als target 
ausgewählt - Erfolg=0  :(

fpc-Version auf Raspi ist übrigens 3.0.0

Jemand eine Idee? Muß ich irgendwo in der IDE was umstellen? Oder geht 
das einfach nicht?
IDE auf raspi1 installieren möchte ich gerne vermeiden.

Viele Grüße
Gartenbahner

von Zeno (Gast)


Lesenswert?

Gartenbahner schrieb:
> Auf Raspi1 kriege ich direkt nach dem Start folgende Meldung:
> An unhandled exception occurred at $0001A2BC:
> EAccessViolation: Access violation
>   $0001A2BC
Bedeutet das da irgend etwas nicht initialisiert ist. Was, da sollte 
mann schon wissen an welcher Stelle der Fehler genau passiert. Dfür gibt 
es einen Debugger oder man macht im Quelltext einfach ein paar 
Konsolenausgaben. Damit läßt sich recht schnell eingrenzen wo es hakt.

Das was Du gerade hier veranstaltest ist stochern im Nebel.

von c-hater (Gast)


Lesenswert?

Gartenbahner schrieb:

> IDE auf raspi1 installieren möchte ich gerne vermeiden.

Gefühlt schon vor Jahrhunderten wurde das remote debugging erfunden. 
Gerade bei Cross-Plattform-Entwicklung ist das im Laufe der Zeit sogar 
regelrecht Standard-Vorgehensweise geworden.

Liegt vermutlich daran, dass es sich als ziemlich praktisch 
herausgestellt hat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.