| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Использование AutomatedQA MemProof
Автор: Горбатов Антон, anton.gorbatov@gmail.com, Источник: http://it4business.ru/ В этой статье я расскажу о программе MemProof фирмы Automated QA. С помощью этой программы можно отслеживать использование памяти в программах написанных на Delphi или C++ Builder. С ее помощью можно выяснить, есть ли утечка памяти (memory leak) в исследуемой программе, а также, сколько памяти и ресурсов используется при выполнении определенных действий. С помощью MemProof можно обнаружить неверные обращения к памяти и вызов функций Windows API с некорректными параметрами. Кроме того, MemProof позволяет отследить возникновение исключительных ситуаций и выполнение запросов к БД через BDE, ODBC и InterBase API. Под утечкой памяти часто понимается случай, когда выделенная память никогда не освобождается. Однако может оказаться так, что вся выделенная память когда-нибудь освобождается, но при работе программы занятая память постоянно увеличивается, хотя необходимости в этом нет. Типичным примером является ситуация, когда выделяемая программой память освобождается только при выходе из программы (имеется в виду освобождение памяти не операционной системой, а самой программой). Поэтому я предпочитаю другое определение: утечкой памяти называется ситуация, когда программа выделяет память, и не освобождает ее, когда она становится ненужной. Наличие утечек памяти приводит к замедлению работы программы, и может привести к исчерпанию всей виртуальной памяти. Содержание
ВведениеВ этой статье я расскажу о программе MemProof фирмы Automated QA. С помощью этой программы можно отслеживать использование памяти в программах написанных на Delphi или C++ Builder. С ее помощью можно выяснить, есть ли утечка памяти (memory leak) в исследуемой программе, а также, сколько памяти и ресурсов используется при выполнении определенных действий. С помощью MemProof можно обнаружить неверные обращения к памяти и вызов функций Windows API с некорректными параметрами. Кроме того, MemProof позволяет отследить возникновение исключительных ситуаций и выполнение запросов к БД через BDE, ODBC и InterBase API. Под утечкой памяти часто понимается случай, когда выделенная память никогда не освобождается. Однако может оказаться так, что вся выделенная память когда-нибудь освобождается, но при работе программы занятая память постоянно увеличивается, хотя необходимости в этом нет. Типичным примером является ситуация, когда выделяемая программой память освобождается только при выходе из программы (имеется в виду освобождение памяти не операционной системой, а самой программой).
Установка и настройкаСкачать MemProof можно с сайта www.automatedqa.com. Последняя версия на момент написания статьи – 0.950. Эта версия распространяется в виде zip-архива без help’а. Для того, чтобы получить справку можно скачать версию 0.936 – это последняя версия, с которой поставляется help. Для установки версии 0.936 необходимо запустить программу установки и ответить на выдаваемые вопросы. Для установки версии 0.950 достаточно распаковать архив в любое удобное для вас место. Перед началом работы рекомендуется внести некоторые изменения в настройки компилятора и линковщика в отлаживаемом проекте. В настройках компилятора рекомендуется отключить оптимизацию (Optimization), включить использование Stack frames, включить генерацию отладочной информации (Debug information) и использование отладочных библиотек (Use Debug DCUs). В настройках линковщика рекомендуется включить Include TD32 debug info. Даже если проект собран без отладочной информации, все равно можно работать с
MemProof. В этом случае можно обнаружить факт утечки, но нельзя выяснить точное
место, в котором происходит утечка. К достоинствам MemProof можно отнести тот
факт, что для его работы не требуется вносить какие-либо изменения в исходный
текст отлаживаемой программы. Так же нет необходимости включать в проект
специальные библиотеки. К сожалению, MemProof 0.950 работает не корректно, если
запущено несколько его экземпляров одновременно. Вместе с тем, при старте не
проверяется, запущен MemProof или нет. Из-за этого приходится самостоятельно
следить за тем, чтобы была запущена единственная копия программы. В тоже время
MemProof 0.936 позволяет запустить себя только в одном экземпляре. Настройка
основных параметров программы MemProof производится в окне Settings, которое
открывается при выборе пункта меню Configure / Settings. В следующей таблице
перечислены все параметры с кратким описанием. В окне Active Hooks (вызывается через пункт меню Configure / Active Hooks…) можно выбрать какие события и использование каких ресурсов будет отслеживаться. Основным отслеживаемым ресурсом является память, выделенная с использованием стандартного менеджера памяти Delphi. Для ее контроля предназначен счетчик Live Pointer. При его включении перехватываются вызовы функций GetMem, FreeMem и некоторых других. Здесь же можно настроить слежение за использованием системных ресурсов, возникновением ошибок при обращении к функция Win API, возникновением исключительных ситуаций, обращением к базе данных (через BDE, ODBC или InterBase API). Лучше отключить ненужные ловушки (hooks), т.к. это увеличивает быстродействие и повышает стабильность работы MemProof. Приложение: Рубрика: Software Testing
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|