|
|
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
Выполняем функцию, внутри которой может возникнуть какой угодно эксепшн В качестве результата функции - возникший эксепшн или nil В определённый момент рейзим вернувшийся эксепшн Получаем утечку памяти Воспроизведение: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Что я неправильно понимаю в эксепшнах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 21:59:46 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, "Tokyo" 10.2, утечку памяти не подтверждаю (контролировал с помощью указания ReportMemoryLeaksOnShutdown := True;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:14:34 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, А чего бы не возвращать E.Message?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:19:30 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvpSOFT FOR YOU, А чего бы не возвращать E.Message?.. Разве вопрос был про архитектуру? У него объект исключения после возбуждения эксцепшна автоматом не удаляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:23:56 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvp, В оригинале копируется не текст, а весь эксепшн, с классом и внутренним содержимым Но это совсем другая история ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:24:43 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччД, Пробую Берлин, утечка воспроизводится Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:25:55 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччДSOFT FOR YOU, "Tokyo" 10.2, утечку памяти не подтверждаю (контролировал с помощью указания ReportMemoryLeaksOnShutdown := True;). Также, не подтверждаю утечку на D2007. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:27:42 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Так не воспроизводится. Кто освобождать-то будет второй эксепшн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:28:47 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
Без try except вокруг вызова Test - воспроизводится, что логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:29:42 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvp...Кто освобождать-то будет второй эксепшн? ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:29:59 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччД, Exception'ы (объекты) освобождаются в except-end блоке, если exception остаётся необработанным - возникает утечка памяти, очевидно же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:32:45 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvpчччД, Exception'ы (объекты) освобождаются в except-end блоке, если exception остаётся необработанным - возникает утечка памяти, очевидно же? Ну ты даёшь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:43:37 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччДalekcvpчччД, Exception'ы (объекты) освобождаются в except-end блоке, если exception остаётся необработанным - возникает утечка памяти, очевидно же? Ну ты даёшь. Как тогда ты объяснишь, что без try-except там есть утечка, а с ними - нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:44:46 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvpчччДпропущено... Ну ты даёшь. Как тогда ты объяснишь, что без try-except там есть утечка, а с ними - нет? Смотри, утечки нет: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Утечка есть: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Вот: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:49:45 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvp, объясняется магией. Магия заключена в слове: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:50:47 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
alekcvp, извинения: ты, похоже, прав. У меня на некоторые исключения фильтры стояли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:57:45 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
Да, пацаны, спасибо, что разъяснили Я думал финальный Exception высвобождается Тему можно закрывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 23:00:33 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччДalekcvp, извинения: ты, похоже, прав. У меня на некоторые исключения фильтры стояли. ... а также, изначально тест я запускал в шаблонном "vcl - проекте", где есть дефолтный обработчик исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 23:01:23 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
чччДСмотри, утечки нет: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Смотри, утечка есть: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 23:05:03 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
Не увидел новых сообщений, пока писал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 23:06:53 |
|
||
|
Утечки при двойном рейзе?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUВ оригинале копируется не текст, а весь эксепшн, с классом и внутренним содержимым Можно проще сделать: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 07:41:15 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39493188&tid=2042000]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 453ms |

| 0 / 0 |
