Frage

Ich bin versucht zu lokalisieren Lecks mit Instrumenten, aber die Lecks ich sehe, gibt es wie im nächsten Bild:

Lecks

Wie Sie sehen können, es gibt keine Informationen, welche Zeile im code ist genau zu lecken.Alle Lecks, die ich habe, um die 20, sind, oder, in anderen Worten, die Lecks nicht zeigen jede Zeile meines Codes im besonderen.

Das Leck in diesem Bild ist der Zusammenhang zu "_CFAllocatorSystem" (???) auf der CoreFoundation und ich habe andere, die einfach sagen GSEvent.Ich habe keine Ahnung, was erzeugt diese.

Wie finde ich das?

vielen Dank für jede Hilfe.

War es hilfreich?

Lösung

Ich glaube, Sie in Instrumente gehen wollen, nachdem sie unter Leck läuft und wählen Sie „Source View“. Dann müssen Sie Ihre Quelldateien in das Instrument Fenster ziehen. Es wird dann die Zeilen im Code zeigen, wo das Leck mit dem Call-Stack erfolgt entlang.

Einige hinhauen Code von mir leckt einen Blick. Es sieht aus wie dies in Instrumenten: alt text http://img688.imageshack.us/img688/9669/screenshot20091028at131.png

Andere Tipps

Die Sache, die Lecks zeigt, dass die Spur zu dem code zugewiesenen das Objekt, das undicht ist (was bedeutet, es wird beibehalten, aber Ihre Anwendung hat keine Variablen übrig, die, das-Adresse).Was es nicht zeigen, Sie ist einfach da, wo das Objekt gewesen sein sollte freigegeben, so dass es nicht zu Leck, und das ist unmöglich zu wissen (es ist möglich, zu finden, wo Version ist derzeit genannt, aber das ist möglicherweise nicht so hilfreich).

Also, was diese Spur ist mir zu sagen, ist, dass ein Teil des Arbeitsspeichers durch das system beibehalten wird, und dann die Referenz vergessen - ein Schlüssel ist die "PurpleEvent" - Linie, die ist gemeinsame in eine thread-Umgang mit timer-Ereignissen oder vielleicht von Benachrichtigungen.Es könnte Sie erhalten eine Benachrichtigung und hielt etwas aus es, ohne es loszulassen später auf.

Wenn Sie wissen, Wann das Leck Auftritt, sollten Sie in der Lage zu isolieren, welcher code ausgeführt wird, während dieser Zeit.

Siehe hier und vor allem dieses Zitat:

Diese Liste informiert Sie über die Typen durchgesickert Objekte, Größen, Adressen und sogar ihre Call-Stacks.

Dann können Sie die Quelle durchgesickert Erinnerungen durch die Aufruflisten verfolgen.

Der Stack-Trace zeigt Ihnen genau, welche Linie der Schuldige ist. Offenbar Linie 14 in main.m in Ihrem Fall. nicht wissen, was Sie verwirrt über?

Der Schuldige war der Beschleunigungsmesser, und ich bin Kompilieren für OS 3.0.

Mit anderen Worten, das Beschleunigungsmesser, dass Apple sagte, dass seine Lecks behoben wurden, noch wie die Hölle undicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top