visual c

Annetka

Память выделяется под динамический массив,а когда наступает пора её освободить происходит страшный debug error.
Из-за чего это может быть?могу запостить кусочек кода.

oleg701

А в релизовой компиляции работает?

Annetka

?

abrek

Скорее всего где-то раньше произошёл memory corruption, и испортились управляющие структуры аллокатора.

oleg701

Откомпилировать программку можно на дебаг и релиз.
Это обсуждалось
Я так понял в дебаге у тебя не работает - это могут быть глюки дебаггера, а не программы.
Проверь, падает ли программа, скомпилированная на релиз

Dasar

Где это ты видел глюки debugger-а? Обычно это кривые руки

Dasar

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

oleg701

Встретил разок. В дебаге падало, а в релизе жило.
Видел и обратную ситуацию.
Но чаще всего это действительно кривые руки

Annetka

Всем спасибо и вправду кривые руки.

batanik

>Встретил разок. В дебаге падало, а в релизе жило.
>Видел и обратную ситуацию.
И в этом сто пудов были виноваты именно кривые руки

oleg701

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

bobking

> вправду кривые руки.
Скорее коса...

street_racer

> И в этом сто пудов были виноваты именно кривые руки
>...программистов из Microsoft.
>Потому что в идеале такого быть не должно.
Это еще что за утверждение? Release не работает при работающем Debuge в 90% случаях если ты не проинициализировал какие-то данные. Я уж не говорю про всякие ASSERT и прочии фичи.
Я конечно понимаю, что модно во всех бедах винить Microsoft, но как показывает практика в большинстве случаев они ни причем.
А по поводу глюков компилятора, за несколько лет работы с VC6, я встретил только один да и то это была ошибка в коде на которую он не ругнулся Так что будет интересно посмотреть на встреченную тобой.

oleg701

> Это еще что за утверждение? Release не работает при работающем Debuge в 90% случаях...
Вообще-то я говорил про работающий релиз при падающем дебаге.
Достаточно давно уже не использую Visual Studio, так что конкретные примеры привести вряд ли удастся.
Самая запоминающаяся ошибка была такой - не срабатывало присваивание (проверял в т.ч. в дебаге).
После того как я продублировал строчку с присваиванием (больше ничего не менялось все заработало.
Проверка в дебаге показала - срабатывало именно второе присваивание.

bobking

> глюков компилятора, за несколько лет работы с VC6, я встретил только один
Маза повезло тебе нипадецки.
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp3/vcfixes.asp
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp4/vcfixes.asp
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp5/vcfixes.asp

abrek

Эти сервис-паки наверное довольно редко выпускают? А что тогда так мало фиксов?

JERRY

С памятью могут быть проблемы, если STL объект создается в одном модуле, а удаляется в другом.

bobking

> А что тогда так мало фиксов?
Стесняются?

Dasar

Так имеется ввиду компилятор со всеми последними установленными фиксами и патчами.
Вероятность того, что только у тебя проявляется глюк, а у других нет, очень низка.

bobking

> Так имеется ввиду компилятор со всеми последними установленными фиксами и патчами.
"глюков компилятора, за несколько лет работы с VC6, я встретил только один"

Dasar

5-ому sp уже года три, не говоря уже о sp3

bobking

Даты релизов SP:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q194022
Кстати, что ты хочешь доказать?

Dasar

> Кстати, что ты хочешь доказать?
При прочих равных, скорее всего ошибка своя, а не в стандартных компиляторах, либах, прогах и т.д.
зы
Также может означать, что стандартные вещи используются не стандартным образом

abrek

> При прочих равных, скорее всего ошибка своя, а не в стандартных компиляторах, либах, прогах и т.д.
Люди с таким подходом почему-то чаще находят реальные баги в компиляторах, чем те, которые сразу начинают подозревать оные баги во всех непонятных явлениях

bobking

> При прочих равных, скорее всего ошибка своя, а не в стандартных компиляторах, либах, прогах и т.д.
Так это понятно.
Просто не стоит пытаться делать выводы о (без)глючности компилятора только по личному работы с ним.
Последнее относится к 17.44 и другим господам.
Оставить комментарий
Имя или ник:
Комментарий: