2012-11-06 8 views
7

Also nach dem Ausführen meiner Objective-C-Anwendung für ca. 8 Stunden, wird schließlich mein Computer diese Fehlermeldung angezeigt. Aber nach 24 Stunden mit Instrumenten, hat es nur etwa 1% von dem, was die App in 8 Stunden ohne Instrumente tun kann, abgeschlossen.Ihre Mac OS x Startdiskette hat nicht mehr Platz für Anwendungsspeicher

Meine Anwendung nimmt im Wesentlichen Eingabe Geometrie und erstellt ein Navigationsnetz.

Meine Frage: Wie kann ich herausfinden, wo mein Problem ist? Ich bin mir sicher, dass ich irgendwo in meiner Anwendung nach Speicher frage und ihn niemals freigebe. Ich lief analysieren, die ein Leck gefunden, aber nicht signifikant und ich habe es behoben.

Ich leite jetzt Instrumente für Allokationen/Lecks, aber nach 16 Minuten sehe ich nichts grelles (ich werde es weiterlaufen lassen).

Hier ist eine Momentaufnahme, wo es ist so weit: Instruments

Wer irgendwelche Ideen, wie ich sonst das Debuggen kann? Ich würde gerne in der Lage sein, dies für etwa 20 Stunden zu tun, so dass es im Vergleich zu ihm zwangsläufig sterben kann:/

Vielen Dank im Voraus!

+0

Sind Sie sicher, dass ein Leck vorliegt? Könnte Ihr Algorithmus einfach Datenstrukturen generieren, deren Größe den verfügbaren virtuellen Speicher übersteigt? Ein 64-Bit-Programm kann * eine wahrlich überwältigende Menge an Speicher adressieren *, aber das bedeutet nicht, dass es wirklich beliebig große Mengen zuweisen kann. Wie groß würden Sie Ihre Daten ungefähr erwarten? Wie haben Sie das festgestellt? –

Antwort

9

Sie verlieren die Erinnerung wie ein Champion!

  • wiederum auf "nur Live-Zuweisungen verfolgen" in der Verrechnungen Instrument

  • wiederum auf "Track Referenzzählung Ereignisse" (oder was auch immer es genannt wird)

  • Wieder führen Sie Ihre Sitzung und Sortieren nach der Spalte "Overall Bytes"

  • Beginnen Sie an der Spitze, die meisten Speicher hungrig Zuteilung, und klicken Sie durch den kleinen Pfeil, um zu sehen, woher alle diese Zuordnungen kommen, weiter unten in der Liste ...

Es ist viel wie Heapshot Analyse und damit this weblog article ich könnte hilfreich sein, vor einer Weile geschrieben.

+0

Also ich versuche diese Methode, und ich habe es für 23 Stunden laufen und es hat 14 der 1131 Aufgaben abgeschlossen, die es benötigt, um abzuschließen. Normalerweise dauern alle 1131 Aufgaben ungefähr 20 Minuten. Irgendwelche Vorschläge, wie man debuggt, wo es wirklich alle Aufgaben erledigen kann:/Instruments läuft immer noch bei 100% CPU (von 800%), aber es kann einfach nicht mithalten Ich denke – Geesu

+0

Hier ist ein Link zu den Ergebnissen weit: https://dl.dropbox.com/u/15806454/dump/stackoverflow_instruments.png – Geesu