powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PB Heap manager
18 сообщений из 18, страница 1 из 1
PB Heap manager
    #32872314
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.

Снова приходиться гонять приложение на предмет memory leaks. Нашел инфу на sybase.com по поводу использования PB Heap manager's API. Но данной информации для меня оказалось недостаточно, я не смог корректно покдлючить необходимую функциональность и/или переменные среды. Если кто пытался подключить heap manager и выгрузить дамп, подскажите, плз, как правильно это сделать.

PB 8.0.4 build 10501
...
Рейтинг: 0 / 0
PB Heap manager
    #32872458
sergey_a_frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делал в win200, когда искал причины своих заморочек :

1. установил PB_HEAP_LOGFILENAME = c:\pblog , например

2. описал ексерналы
FUNCTION Long PbHeap_traceOn () LIBRARY "pbvm80.DLL"
FUNCTION Long PbHeap_traceOff () LIBRARY "pbvm80.DLL"
FUNCTION Long PbHeap_dump(long dumpType) LIBRARY"pbvm80.DLL"
...
3. вставил вызовы
PbHeap_dump(2)
PbHeap_traceOn ()
......
PbHeap_traceOff()
PbHeap_dump(2)

4. Прочитал лог, например c:\pblog :

....
0665D7E8 allocFromPool (size 8)
0666E2E8 free (size 24)
______________________________________________________________________
PB Heap Summary:
______________________________________________________________________
#blocks #blocks #blocks #bytes #bytes #bytes size index | range
free in use total free in use total
________ ________ ________ __________ __________ __________
2874 12345 15219 68976 296280 365256 00 | 0..8
1912 8368 10280 53536 234304 287840 01 | 9..12
566 8290 8856 18112 265280 283392 02 | 13..16
...
5. Забил на это все и посоветовал выписать память тем пользователям, чьи отчеты не влезают в ОЗУ - были дикие тормоза со свопом.
...
Рейтинг: 0 / 0
PB Heap manager
    #32872724
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2sergey_a_frolov

Спасибо, подскажи, плз, где ты устанавливал переменную среды PB_HEAP_LOGFILENAME?
...
Рейтинг: 0 / 0
PB Heap manager
    #32872739
СергейФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Му computer > Properties > Advanced > Envieremnet Variables > System Variables.

Не забудь перезапустить билдер, если дебажешь из среды.
...
Рейтинг: 0 / 0
PB Heap manager
    #32872834
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СергейФМу computer > Properties > Advanced > Envieremnet Variables > System Variables.

Не забудь перезапустить билдер, если дебажешь из среды.

Спасибо !
...
Рейтинг: 0 / 0
PB Heap manager
    #32873122
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении всех вышеуказанных процедур билдер упорно падает при вызове PBHeap_TraceOn().

PB 9.0.1 build 6533, WinXP SP2
...
Рейтинг: 0 / 0
PB Heap manager
    #32873157
СергейФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делал на 8.0.4 b10691 под win 2000.

Может надо описание еxternal function long ... поправить в соответствии с API на subroutine ... . Вдруг там в 9-ке стек ломается.
...
Рейтинг: 0 / 0
PB Heap manager
    #32873183
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СергейФЯ делал на 8.0.4 b10691 под win 2000.

Может надо описание еxternal function long ... поправить в соответствии с API на subroutine ... . Вдруг там в 9-ке стек ломается.

Это однозначно надо было подправить, т.к. это и есть процедуры, а не функции. Билдер падал.
...
Рейтинг: 0 / 0
PB Heap manager
    #32873200
sergey_a_frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда даже не знаю что посоветовать, увы :(, разве что пропробовать downgrade проблемного кода на 8.0.4.

СергейФ.
...
Рейтинг: 0 / 0
PB Heap manager
    #32873210
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей, а каким способом запускали приложение, из среды или из сборки?
...
Рейтинг: 0 / 0
PB Heap manager
    #32873213
sergey_a_frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из среды, как через Run, так и через Debug.
...
Рейтинг: 0 / 0
PB Heap manager
    #32873337
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валится как в сборке, так и из среды :(
...
Рейтинг: 0 / 0
PB Heap manager
    #32874034
sergey_a_frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда может имеет смысл покопать/поспрашивать в ньюсовых группах на forums.sybase.com - там все же больше народу бывавет, в том числе и сотрудники Sybase, и я там несколько раз вычитывал полезное по билдеру и АSЕ.
...
Рейтинг: 0 / 0
PB Heap manager
    #32876645
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кому интересно - кусок из переписки по поводу сабжа:

NewsGroup: sybase.public.powerbuilder.general
Date: Jan 20,2005 09:26 am
Created by: "Jim O'Neil [Sybase]"
Topic: Re: PBHeap API using troubles

Try upgrading to 9.0.2.. I do recall a period where there were crashes
when using the API. Additionally, you will need to specify
PB_HEAP_LOGFILENAME at a minimum because the output goes to the
console otherwise.

On 20 Jan 2005 02:48:00 -0800, Alexander Kolotinest wrote:

>Hi All!
>
>As I know, there are no features in PB for testing virtual
>memory usage of applications created in PB, for exmaple, PB
>profiling gives us information related with perfomance.
>I have application that produses virtual memory leaks, I
>should investigate these leaks.
>So, I've found info about PBHeap API functionality, but it
>does'nt work with my environment (PB 8.0.4 build 10501 or PB
>9.0.1 build 6533, WinXP SP2) - PB crashed when I call
>PBHeap_Dump() finction.
>
>I've described in the Global External Functions PBHeap API:
>
>subroutine PbHeap_traceOn() LIBRARY "PBVM80.DLL"
>subroutine PbHeap_traceOff() LIBRARY "PBVM80.DLL"
>subroutine PbHeap_debugOn() LIBRARY "PBVM80.DLL"
>subroutine PbHeap_debugOff() LIBRARY "PBVM80.DLL"
>subroutine PbHeap_dump(integer flags) LIBRARY "PBVM80.DLL"
>
>Then I call PBHeap_Dump(1) - PB is crashed.
>Please, help me with it.
>
>Best regards,
>Alexander

Тема закрыта
...
Рейтинг: 0 / 0
PB Heap manager
    #32877204
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё вот это можно добавить из вашей переписки:
EAServer / PowerBuilder Memory Tuning and Troubleshooting
...
Рейтинг: 0 / 0
PB Heap manager
    #32877234
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexis glinskiещё вот это можно добавить из вашей переписки:
EAServer / PowerBuilder Memory Tuning and Troubleshooting

Эта статья была исследована как первоисточник
...
Рейтинг: 0 / 0
PB Heap manager
    #32877564
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander KolotinetsЭта статья была исследована как первоисточникможет кому-нибудь тоже захочется исследовать :)
...
Рейтинг: 0 / 0
PB Heap manager
    #33347482
Nividimka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось ли кому-нибудь каким-нибудь образом решить эту проблему (утечки памяти)?

В 10.0.2 пробовал PB_POOL_THRESHOLD - без результата.
От DBParm не зависит - проблема присутствует уже сразу в сгенерённом по темплэйту приложении MDI (не строчки не добавлял) без коннектов к БД.

У юзеров за смену при интенсивной работе утекает вся память (больше 1Г).
Физическая память восстанавливается при минимизации, а виртуальная нет.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PB Heap manager
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]