Возникла проблема с утечкой памяти, когда я использовал NSXMLParser так же, как пример SeismicXML - PullRequest
0 голосов
/ 17 февраля 2009

Я выполнил синтаксический анализ xml так же, как пример SeismicXML. Но теперь это дает мне проблему утечки памяти.

Когда я тестировал SeismicXML с инструментами, он также давал ту же утечку памяти.

В SeismicXML есть пример EarthQuake, он содержит все строки и массивы, полученные при разборе xml. ТАК «Инструменты утечки», показывающие всю эту строку и массив в виде утечек.

Я провел много времени за этой проблемой. но я пока не могу решить. Если кто-нибудь решил эту проблему, то, пожалуйста, поделитесь своим отзывом со мной.

Спасибо, Haresh.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2009

ок,

Я полагаю, вы правильно установили инструмент, чтобы вы могли вызывать его из терминала.

Чтобы использовать это:

1) cd / your / project / path 2) scan-build -k -V xcodebuild

если это не сработает, значит, вы неправильно установили инструмент: по крайней мере, у вас неверно установлен «путь».

Вот как установить путь для оболочки c или tcsh, если вы установили инструмент в /opt/checker-0.160

set mypath = (/ opt / checker-0.160) set path = ($ mypath $ path)

3) если команда работает правильно, она создает ваш проект и запускает веб-сервер на вашем компьютере. Затем он дает вам URL-адрес, к которому вы можете подключиться на вашем компьютере, чтобы прочитать результаты.

Если команда не может запустить веб-сервер, она в любом случае сообщит вам, что HTML-файлы доступны в определенном каталоге, и вам будет указан путь. Обычно этот каталог находится в /tmp.

Просто зайдите в этот каталог

cd / path / to / results / directory

, а затем

открыть index.html

Вы увидите полный отчет. С наилучшими пожеланиями.

0 голосов
/ 09 ноября 2009

Перед инициализацией моего NSXMLParser я установил следующее:

[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];

Это перестает протекать.

0 голосов
/ 20 февраля 2009

Возможно, вы захотите скачать, установить и использовать средство проверки CLANG, чтобы понять, почему в вашем коде происходит утечка памяти. Этот инструмент (который уже создан для Leopard 10.5.x) иногда может не дать правильного ответа, но, по моему личному опыту, он никогда не подводил. Я настоятельно рекомендую его как один из ваших ежедневных инструментов разработки.

Вы можете скачать его с

http://clang.llvm.org/StaticAnalysis.html

Использовать это действительно просто. Взгляните на

http://clang.llvm.org/StaticAnalysisUsage.html#BasicUsage

На практике вы просто создаете свой проект XCode с помощью команды

scan-build -k -V xcodebuild

Затем вы проверяете итоговые выходные HTML-файлы, используя команду, которая будет отображаться в окне вашего терминала. Эти файлы дадут вам подробное объяснение, почему что-то не так в вашем коде (не только утечки памяти).

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...