проблемы с памятью С++
Переполнение массива - это как? выход за границу? В разных компиляторах по-разному. в BCB Range Checking вроде есть.
да, выход за границу, видимо. а BCB-это что?
Borland C++ Builder
а-точно 

а не знаешь точно, как этот Range Checking настроить?
Project Options -> Compiler, там вроде галка должна быть.
Хотя я не уверен.
Вот в Borland Delphi такая штука есть.
скорее всего должна быть и там.
Хотя я не уверен.
Вот в Borland Delphi такая штука есть.
скорее всего должна быть и там.
спасибо:)
но мне бы все-же хотелось в MVS такую опцию найти...
но мне бы все-же хотелось в MVS такую опцию найти...
MVS - што за зверь?
MSVC штоль?
там к нему какие-то приложения есть, никогда не пользовал..
MSVC штоль? там к нему какие-то приложения есть, никогда не пользовал..
>MVS
Microsoft Visual Studio
Microsoft Visual Studio

это я потом догадался. у меня "микрософт" и "С++" ассоциируется только с MSVC.
VS для меня - это не только С(++ но и всякие фокспро и вб
VS для меня - это не только С(++ но и всякие фокспро и вб
Без всяких уродских BCB. Ставишь себе NuMega BoundsChecker, и вперед, хоть под билдером, хоть под VisualC++, хоть под (назови-свой-любимый-компилятор).
а этот NuMega BoundsChecker есть у кого-нибудь, кроме , который в оффлайн сейчас? ( кстати, у него NuMega BoundsChecker Delphi 6.5-это только для Delphi, или для всего сойдет?)
Compuware Devpartner этого не может?
не знаю...пытаюсь установить его, но не хватает еще Microsoft Windows Script Debugger, которого в сети нет
спасибо
сейчас попробую применить
сейчас попробую применитьа ты не можешь вкратце рассказать, как им пользоваться
? там просто куча всяких описаний на английском...
? там просто куча всяких описаний на английском...Это не то, что тебе нужно. просто "прикалывается".
Используй boundschecker, а лучше вообще не юзай массивы в С++ там где они могут переполниться
.
Используй boundschecker, а лучше вообще не юзай массивы в С++ там где они могут переполниться
.массив он на то и есть, чтобы за его границы писать 

да нет, ссылка cantora нормальная, просто для установки Compuware Devpartner требовался Script Debugger. Кстати, этот Compuware Devpartner как-то не очень ловит, или я просто не так им пользуюсь.
А BoundCheckerа в сети нет
А BoundCheckerа в сети нет

>Это не то, что тебе нужно. просто "прикалывается".
Над шутками моими никто не смеёцо. Когда пишу всерьёз - говорят, прикалываюсь. Ниибаца я перверт.
Над шутками моими никто не смеёцо. Когда пишу всерьёз - говорят, прикалываюсь. Ниибаца я перверт.
>Кстати, этот Compuware Devpartner как-то не очень ловит, или я просто не так им пользуюсь.
А как ты им пользуешься?
А как ты им пользуешься?
запускаю exe файл моей программы в Error Detection...так?
Там сначала надо что-то типа "Build with bound checker" в менюшке нажать.
а в какой менюшке? В VisualStudio?
Упс.
Ну да, в MSVC
Ну да, в MSVCчто-то я такого там не вижу 

как можно средствами компилятора отловить, где происходит, например, переполнение массива и тп?зачем дополнительный геморой с софтом?
IMHO стоит использовать trace сообщения сразу при написании кода. помогает находить ошибки, связанные не только с памятью.
З.Ы. программер лучший дебагер.
В C++ есть std::vector, метод at которого проверяет выход за границу массива.
Вообще, в C++ порядочный способ обращения с памятью -- поручить это делать шаблону.
Вообще, в C++ порядочный способ обращения с памятью -- поручить это делать шаблону.
да я знаю..просто для переписывания кода много времени потребуется, вот я и подумала, что если в VS есть опция отслежтвания таких ошибок (насколько мне известно, такая есть в фортране, например то так будет проще и быстрее
Оставить комментарий
moga80
как можно средствами компилятора отловить, где происходит, например, переполнение массива и тп?