Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3

CodeGuard не срабатывает

25.04.2016, 07:48. Показов 2491. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго!
Включил в настройках проекта CodeGuard.
В проекте всего одна кнопка.

C++
1
2
3
4
5
6
7
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 TStringList * lst = new TStringList;
 lst->Add("test");
}
//---------------------------------------------------------------------------
Но при компиляции и работе CodeGuard молчит.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2016, 07:48
Ответы с готовыми решениями:

CodeGuard в x64
В Builder x32 есть CodeGuard. В Builder x64 его нет. Для написания прог на x64 мне приходится отлаживать прогу под x32, а релиз делать...

CodeGuard в C++ Builder 6
Добрый день. Подскажите как пользоваться сабжевой штукой. Вроде как включил, галочки поставил, но во вьюхе CodeGuardLog никогда ничего не...

Ошибки и логи CodeGuard
Здрасте, есть у меня ошибочка в програмке, пересмотрел весь код, не могу найти, одно наверняка известно - попытка чтения из недоступной...

17
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
25.04.2016, 11:42
А что не так, почему он должен что то говорить? Про утечку памяти он скажет при закрытии проги.
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 11:43  [ТС]
gumi250, так и при закрытии он не чего не говорит.
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
25.04.2016, 11:46
Цитата Сообщение от Dinkin Посмотреть сообщение
Но при компиляции
При компиляции CodeGuard никогда ничего не говорит.

Добавлено через 2 минуты
Надо запустить в режиме с Debugging.
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 11:51  [ТС]
gumi250, Понимаю.

Так норм,видит что утечка
C++
1
char *XXX = new char;
А вот так вот не норм, не видит,что утечка =)
C++
1
TStringList * lst = new TStringList;

PS, я знаю про std::auto_ptr, просто проект- сервер (для сокетов) немного пухнит при длительной работе. Начал искать утечку, CodeGuard молчит....и стало интересно,а в обще нормально ли он ловит протечки CodeGuard ....и вот чет элементарщину не видит.
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
25.04.2016, 11:58
Цитата Сообщение от Dinkin Посмотреть сообщение
А вот так вот не норм, не видит,что утечка =)
Действительно не видит. А я ему верил
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
25.04.2016, 14:09
Dinkin, а "использование отладочных библиотек" включено? Если нет - то утечка от VCL-классов не будет ловиться CodeGuard-ом. К тому же, насколько я помню, нужно отключить "Use dynamic RTL" и "Runtime Packages". Тогда будет ловиться утечка. Все вышесказанное - для BCB6, но и в более новых версиях скорее всего ситуация аналогична.
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 14:33  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
"использование отладочных библиотек" включено?
Это галки в конфигурациях самого CodeGuard, что в меню Tools ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
25.04.2016, 14:39
Нет, это в настройках проекта:
Миниатюры
CodeGuard не срабатывает  
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 14:50  [ТС]
"Use dynamic RTL" и "Runtime Packages" отключены. Таких галок как use debug library в XE7 нет. И все равно ее находит.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
25.04.2016, 14:56
Цитата Сообщение от Dinkin Посмотреть сообщение
Таких галок как use debug library в XE7 нет
Зато в XE7 есть галка Use debug DCUs, в свойствах проекта -> Delphi Compiler -> Compiling.
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 15:03  [ТС]
volvo, Спасибо, буду знать,но к сожалению результат тот же.
На виртуальных машинах проверил "Xe8 и Xe 10", нигде не находит

C++
1
TStringList * lst  = new TStringList;
может оно и не считается утечкой
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
25.04.2016, 15:32
Оно считается утечкой, и в старых версиях Билдера все нормально срабатывает. Но Бракоделы же не могут оставить нормально работающий функционал, им же надо новых глюков досыпать. Чтобы поправить это для 6-го Билдера, понадобилось чуть больше 10 лет. Жди, может, через 10 лет и для XE7 поправят.
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 15:36  [ТС]
volvo, Они отписали у себя на сайте,что более не поддерживают старые версии . Даже Сиэтл старый, к нему больше не будет патчей (а так на дальнейшее максимум версия+патч, в редких случаях два) .
0
25.04.2016, 16:16

Не по теме:

"Ничего личного, просто бизнес" (С)

0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 22:41  [ТС]
volvo, Сделал в проекте с с сервером все по вашим рекомендациям...что то нашел CodeGuard, только непонятно на что он вообще указывает (ссылается на место в System.pas).
Миниатюры
CodeGuard не срабатывает  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
25.04.2016, 23:03
Не-не-не. Это "ложное срабатывание", оно у меня в 6-ом Билдере (на других проверить сейчас не могу, нет под рукой) тоже присутствует. Кроме этого еще должно быть. Вот чего мне cgl-файл показывает:
Кликните здесь для просмотра всего текста
Error 00001. 0x300010 (Thread 0x043C):
Resource leak: The memory block (0x29F68F0) was never freed

The memory block (0x029F68F0) [size: 48 bytes] was allocated with SysGetMem
Call Tree:
0x0042AFEF(=Project1.exe:0x01:029FEF) system.pas#2450
0x0040374D(=Project1.exe:0x01:00274D) D:\BCB6\grid_combo\Unit1.cpp#250
0x00477528(=Project1.exe:0x01:076528) Controls.pas#4621
0x0043BE50(=Project1.exe:0x01:03AE50) StdCtrls.pas#3347
0x0043BFB7(=Project1.exe:0x01:03AFB7) StdCtrls.pas#3399
0x004772FA(=Project1.exe:0x01:0762FA) Controls.pas#4561

------------------------------------------
Error 00002. 0x300010 (Thread 0x043C):
Resource leak: The memory block (0x29F8C4C) was never freed

The memory block (0x029F8C4C) [size: 32 bytes] was allocated with SysGetMem
Call Tree:
0x0042B069(=Project1.exe:0x01:02A069) system.pas#2560
0x0040EA09(=Project1.exe:0x01:00DA09) classes.pas#4616
0x0040EB1C(=Project1.exe:0x01:00DB1C) classes.pas#4641
0x0040E616(=Project1.exe:0x01:00D616) classes.pas#4500
0x0040E59A(=Project1.exe:0x01:00D59A) classes.pas#4487
0x0040377A(=Project1.exe:0x01:00277A) D:\BCB6\grid_combo\Unit1.cpp#251

------------------------------------------
Error 00003. 0x300010 (Thread 0x043C):
Resource leak: The memory block (0x29F8C38) was never freed

The memory block (0x029F8C38) [size: 14 bytes] was allocated with SysGetMem
Call Tree:
0x0042AFEF(=Project1.exe:0x01:029FEF) system.pas#2450
0x00403763(=Project1.exe:0x01:002763) D:\BCB6\grid_combo\Unit1.cpp#251
0x00477528(=Project1.exe:0x01:076528) Controls.pas#4621
0x0043BE50(=Project1.exe:0x01:03AE50) StdCtrls.pas#3347
0x0043BFB7(=Project1.exe:0x01:03AFB7) StdCtrls.pas#3399
0x004772FA(=Project1.exe:0x01:0762FA) Controls.pas#4561

------------------------------------------
Error 00004. 0x300010 (Thread 0x043C):
Resource leak: The memory block (0x29F1604) was never freed

The memory block (0x029F1604) [size: 36 bytes] was allocated with SysGetMem
Call Tree:
0x0042AFEF(=Project1.exe:0x01:029FEF) system.pas#2450
0x0042FBD6(=Project1.exe:0x01:02EBD6) WinHelpViewer.pas#655
0x0048B86D(=Project1.exe:0x01:08A86D)
0x0048BA43(=Project1.exe:0x01:08AA43)

------------------------------------------
Functions called:
fflush (4 times)
delete (11 times)
free (7 times)
memset (1 times)
new (11 times)
SysReallocMem (15 times)
SysFreeMem (749 times)
SysGetMem (753 times)
lstrlenA (1 times)
lstrcpynA (4 times)
calloc (1 times)
strlen (73 times)
realloc (1 times)
strdup (1 times)
malloc (4 times)
memcpy (2 times)
Resource types used:
object (11 allocs, 11 max)
memory block (760 allocs, 433 max)
Modules used:
00400000 04/25/2016 14:17:08
D:\BCB6\grid_combo\Project1.exe
======================================== ==
250 и 251 строка у меня в проекте - соответственно
C++
250
251
 TStringList * lst = new TStringList;
 lst->Add("test");
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,140
Записей в блоге: 3
25.04.2016, 23:08  [ТС]
Спасибо) На XE7и выше он больше не чего не показывает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2016, 23:08
Помогаю со студенческими работами здесь

CodeGuard и размер выделенного блока
Доброго времени суток у меня выскакивает ошибка,вернее не ошибка всё работает как надо,CodeGuard ругается на утечку памяти несмотря на то...

Включить CodeGuard и найти Access Vioaltion
Здравствуйте. О себе:) : Win7, C++ Builder XE3, AsyncPro. Столкнулся со следующей проблемой: Есть проект, который в среде...

CodeGuard ругается при записи в файл
Здравствуйте! Решил проверить код записи массива в файл, подключив CodeGuard: ofstream myfile("c:/my_file.html",...

Ошибка при проверке программы через CodeGuard
Есть программа, которая работает с потоками. Все в принципе работает правильно, но при проверке CodeGuard'ом вылезает ошибка...

Ошибка "Nonshared DATA segment required" при включении CodeGuard
При включении CodeGuard возникает ошибка "Nonshared DATA segment required". На форуме и в интернете решения не нашел. В проекте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru