Показаны сообщения с ярлыком delphi. Показать все сообщения
Показаны сообщения с ярлыком delphi. Показать все сообщения

воскресенье, 24 октября 2010 г.

Анализ дампов Delphi-приложений. Hang (Episode #2)

   История о зависании плагина для Internet Explorer-a.
   С чего началась история - было замечено, что в определенный момент этот BHO (Browser Helper Object)ля IE прекращал подавать признаки жизни (то бишь - внешние проявление активности). А может даже зависал браузер (детали, к сожалению, уже не помню)...

вторник, 19 октября 2010 г.

Анализ дампов Delphi-приложений. CPU spike (Episode #1)

   Бывают такие моменты, когда приложение вдруг ни с того ни сего начинает проявлять гиперактивность - активно загружает процессор (CPU usage spike). Как правило в такой ситуации "особо старается" один их потоков процесса. На одноядерных (однопроцессорных) машинах это не трудно заметить по ухудшению комфортности работы за машиной.
   В особо тяжелых случаях загружать процессор могут сразу несколько потоков.

четверг, 7 октября 2010 г.

Анализ дампов Delphi-приложений. Hang (Episode #1)

   Преамбула
   Прибегает значит на днях сотрудник тестлаба с криками "Шеф, все пропало, все пропало! Гипс снимают, клиент уезжает!" (с). Тьфу ты - "Все зависло. Ничего не работает".

понедельник, 20 сентября 2010 г.

Delphi WinDbg Extension Dll

   Время от времени я занимаюсь анализом дампов скомпилированных в Delphi приложений. Не так чтобы профессионально, но в большинстве случаев удается выяснить причину проблемы. И каждый раз возникает желание как-то автоматизировать и облегчить сей процесс.

среда, 1 сентября 2010 г.

Анализ дампов приложений, написанных на Delphi

   Приложения могут содержать ошибки. Некоторые проявляются воспроизводятся легко и, как правило, не выходят за пределы отдела программирование (другими словами - не попадают к заказчику/клиенту). А некоторые появляются при весьма экзотических внешних условиях.

вторник, 1 июня 2010 г.

Запись строк в реестр и Delphi

   Программируя в Delphi очень желательно записывать строковые данные в реестр в соответствии с документацией.

четверг, 20 мая 2010 г.

История о том, как поток заблокировал самого себя

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

   Но обо всем по-порядку...

пятница, 16 апреля 2010 г.

Вывод диагностической информации в Process Monitor

   Начиная с версии 2.9 очень полезный инструмент от Марка Руссиновича (Mark Russinovich) и Брюса Когсвелла (Bryce Cogswell) Process Monitor поддерживает новую функциональность - возможность вывода своих диагностических (отладочных) сообщений в Process Monitor, для того чтобы можно было лучше коррелировать выполняемые приложением операции с другими событиями. Аналог OutputDebugString, но вывод показывается Process Monitor-ом (оригинал новости - [1]).