Thema geschlossen
Ergebnis 1 bis 1 von 1
  1. #1
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    24,539

    Cool Debugging für Experten (Docker)

    Hinweis: Diese Anleitung hilft nur bei Abstürzen oder hängenden PHP-Threads!
    Wenn euer IP-Symcon also nicht ständig zufällig aus der Prozessliste verschwindet, ist diese Anleitung nicht für euch.


    Erstellt bitte, sofern es nicht einen ähnlichen Backtrace gibt, ein neues Thema für den jeweiligen Fehler!

    Es gibt zwei unter Docker zwei Arten von Debugger, die wir nutzen können
    a) GDB: Ein simpler Debugger, der für die meisten Probleme reicht
    b) Valgrind: Ein eher komplexer Debugger, der auch Speicherprobleme erkennt. (Leider wird die Performance dabei locker um Faktor 5 reduziert)

    A) Debuggen mit GDB
    Alle weiteren Schritte können am einfachsten über Portainer erledigt werden.
    Es wird davon ausgegangen, dass IP-Symcon korrekt startet und nicht schon beim Start abstürzt

    Zuerst den Container in Portainer öffnen und auf "Console" klicken.
    Dort dann auf "Connect".

    Im Terminal folgendes eingeben, um GDB zu installieren
    Code:
    apt update
    apt install gdb
    Dann GDB nutzen um sich zum IP-Symcon Prozess zu verbinden
    Code:
    gdb --pid $(pidof symcon)
    Sobald alles geladen wurde einfach den Prozess weiter laufen lassen


    Code:
    c + ENTER
    B) Debuggen mit Valgrind
    Portainer öffnen und den IP-Symcon Container editieren
    Dabei im unteren Bereich bei "Command & logging" den Command von '/usr/bin/symcon' auf folgendes ändern:

    Code:
    '/bin/bash' '-c' 'apt update; apt install -y valgrind wget; wget -N https://apt.symcon.de/valgrind.supp; valgrind --suppressions=valgrind.supp --log-file=/var/log/symcon/valgrind.log /usr/bin/symcon'
    Den Container neu erstellen lassen. Dabei wird Valgrind installiert und IP-Symcon damit gestartet. Dies kann ein wenig länger dauern und IP-Symcon läuft insgesamt beim Debuggen wesentlich langsamer.

    Zusätzlich wird eine Suppression Liste geladen, welche False-Positives von PHP rausfiltert. Die wichtigen und spannenden Ausgaben landen in der valgrind.log, welche im selben Ordner wie die IP-Symcon Logs landen.

    Solltet ihr bei Option B) Hilfe brauchen, meldet auch gerne. Ich weiß, dass dies alles andere als "einfach" ist
    Geändert von paresy (03.12.20 um 16:22 Uhr)

Ähnliche Themen

  1. Frage an die WebFront Experten...
    Von mistljo im Forum WebFront
    Antworten: 7
    Letzter Beitrag: 22.08.17, 11:37
  2. Docker für Raspberry Pi & Co
    Von Boui im Forum Off Topic
    Antworten: 0
    Letzter Beitrag: 03.09.16, 09:20
  3. Debugging für Experten (Raspberry Pi, Linux, SymBox)
    Von paresy im Forum Allgemeine Diskussion
    Antworten: 1
    Letzter Beitrag: 18.09.15, 15:13
  4. Online debugging in Script
    Von zkra im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 3
    Letzter Beitrag: 31.05.09, 10:27
  5. IP-Symcon-Experten-Check
    Von steiner im Forum Off Topic
    Antworten: 0
    Letzter Beitrag: 20.05.08, 17:17