Programm triggert Speicherleaks in X

Diskutiere Programm triggert Speicherleaks in X im Programmieren allgemein Forum im Bereich Programmieren unter Linux/Unix; [SOLVED] Programm triggert Speicherleaks in X Ich hab ein C Programm geschrieben, das cairo verwendet, das Problem dabei ist, dass es bei jedem...

  1. #1 marcellus, 03.05.2009
    Zuletzt bearbeitet: 12.05.2009
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    [SOLVED] Programm triggert Speicherleaks in X

    Ich hab ein C Programm geschrieben, das cairo verwendet, das Problem dabei ist, dass es bei jedem redraw einen ziemlich massiven Speicherleak in X auslöst.
    Die Speicherbelastung tritt beim Prozess "X" auf und verschwindet auch nicht, wenn ich mein Programm abdreh.

    Ich hab diesen Thread hier in Programmieren allgemein gestellt, weil ich denke das es eher mit cairo als mit der C api von cairo zu tun hat.

    Meine Fragen sind jetzt:
    1. Ist das meine Schuld oder ist das ein bug in X?
    2. Was kann ich dagegen machen?

    tia
     
  2. #2 pferdefreund, 05.05.2009
    pferdefreund

    pferdefreund Doppel-As

    Dabei seit:
    26.12.2007
    Beiträge:
    144
    Zustimmungen:
    0
    und wie soll man ohne Quelltext was finden ?
     
  3. #3 marcellus, 05.05.2009
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Die sache ist die, dass der sourcecode etwas unübersichtlich ist und die makefiles scheiße sind.

    http://gfig.googlecode.com/svn/trunk/

    Ansich gehts nur darum, dass ich die Zeichenfläche bei jedem expose event neu zeichne, nur da scheint X jedesmal neu Speicher anzulegen und ich hab ka wie ich das unterbinden kann.
     
  4. #4 bytepool, 11.05.2009
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    dieser Fred ist zwar schon wieder ein paar Tage alt, aber wer weiss. Hast du es denn mal mit einem memory debugger/profiler wie valgrind versucht (http://valgrind.org/)?
    Ich glaube kaum, dass jemand Lust hat deinen Source Code Stueck fuer Stueck durchzugehen, wenn du selbst keinen Auszug hast in dem du den Fehler vermutest. ;)

    Ansonsten vielleicht mal die Dokumentation fuer die externen API Calls durchgehen die du verwendest, und danach durchsuchen, ob du irgendwo uebersehen hast, dass du Speicher wieder freigeben musst. Das kann ja Recht schnell mal passieren.

    mfg,
    bytepool
     
  5. #5 marcellus, 12.05.2009
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Ich wollte gestern cairo aus dem git ziehen, weil die neueste version den Speicherbedarf überwachen kann, allerdings hab ich zwischendurch den Fehler gefunden. Ich hab bei jedem expose event eine Gdk zeichenfläche angelegt, ohne was damit zu machen.

    Sehr dumm muss ich sagen, aber ich bin froh, dass ichs gefunden hab.

    @bytepool, danke für deine Hilfe, aber ich bin mit stück für stück durchschauen hingekommen.
     
Thema:

Programm triggert Speicherleaks in X

Die Seite wird geladen...

Programm triggert Speicherleaks in X - Ähnliche Themen

  1. Programmfenster nur auf einem bestimmten Monitor zulassen

    Programmfenster nur auf einem bestimmten Monitor zulassen: Hallo, ich hoffe ich habe das hier richtig einsortiert. Mein Problem besteht darin, dass ich an meinem Rechner (Ubuntu 17.04) einen Monitor zum...
  2. IP einstellen aus C-Programm heraus

    IP einstellen aus C-Programm heraus: Hallo, ich bin noch unerfahren in Linux und ich habe das Problem das ich aus einem C-Programm heraus die IP, Maske und das Gateway in Linux...
  3. Welche Distri für Programming from the Ground Up

    Welche Distri für Programming from the Ground Up: Hallo! Ich möchter gerne das Buch Programming from the Ground Up durcharbeiten. savannah_nongnu_org/projects/pgubook/ Da geht es um Programmieren...
  4. Externes Programm mit Script ausführen?

    Externes Programm mit Script ausführen?: Hallo, ich würde gern ein Script zum klonen von festplatten schreiben z.B. mit dem Programm Mondo Rescue. Ist es möglich externen Programmen...
  5. Jetbrains gibt JVM-Programmiersprache Kotlin 1.0 frei

    Jetbrains gibt JVM-Programmiersprache Kotlin 1.0 frei: Jetbrains, Entwickler der freien Entwicklungsumgebung für Java, Grails und einige andere Programmiersprachen IntelliJ IDEA, hat die selbst...