HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Память, c++ и visual studio 6.0
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Память, c++ и visual studio 6.0

Обращаюсь к знатокам студии.
Есть консольная прога, которая делает большой и толстый расчет. На одной из итераций она выдает сообщение об ошибке доступа в память (классика "память не может быть read"), при этом диспетчер задач сообщает, что кушает она всего ~760 килобайт. У меня есть предположение, что прога просто не может выйти за адрессацию дальше 640 килобайт и глохнет, ибо памяти ей надо гораздо больше. Как быть?
Я так думаю, что нужно ее организовать как полноценное 32-разрядной приложение windows, но как это сделать с наименьшими затратами, чтоб не пришлось рисовать окошки и вообще задумываться над всей этой галиматьей с WinAPI?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 39988

Старое сообщение 03-12-2008 03:47
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Scrama писал:
классика "память не может быть read"

Эта классика может свидетельствовать о чем угодно. Более неинформативное сообщение об ошибке - только Access Violation
Обычно это случается при неправильной адресации указателей, выходе за пределы массива и т.п. Причем вылезти она может где угодно. Я сам убил пару дней, пытаясь отловить один такой баг в своем движке...
Цитата:
Scrama писал:
Я так думаю, что нужно ее организовать как полноценное 32-разрядной приложение windows, но как это сделать с наименьшими затратами, чтоб не пришлось рисовать окошки и вообще задумываться над всей этой галиматьей с WinAPI?

Сделать консольное 32-разрядное приложение
Кстати, 16-разрядное ты при всем желании в студиии 6.0 не скомпилишь - это надо какие-то древние компиляторы откапывать или писать прогу на языке ассемблера и собирать через debug.com

__________________

Сообщить модератору | | IP: Записан
Сообщение: 39990

Старое сообщение 03-12-2008 04:44
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Так почему она тогда упирается в свои 760 килобайт и дальше не выделяет?
Там именно что очень странная ситуация - для 19 итераций все пучком, овтет правильный, работа ровная и аккуратная вне зависимости от исходных данных, а на 20 итерации вылетает с неверной адресацией.
Я, конечно, это дело все перепишу на Дельфах, но человеку удобнее иметь именно плюсовое приложение

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 39991

Старое сообщение 03-12-2008 05:03
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Если ты определил, на какой именно итерации она вылетает, то запускай дебаггер, делай останов на это итерации (скажем, через __asm int 3) и пошагово ее выполняй дальше. Какие тут еще можно дать советы?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 39998

Старое сообщение 03-12-2008 06:18
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


XaeroX да, надо попробовать... Фишка в том, что одна итерация минут 20 длится...

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 39999

Старое сообщение 03-12-2008 06:24
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Scrama тогда надо выделять в ней подытерации

__________________

Сообщить модератору | | IP: Записан
Сообщение: 40000

Старое сообщение 03-12-2008 06:27
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



проверить, действительно ли винда не дает памяти очень легко.
После маллока ставим брекпоинт или ассерт на предмет ненулевого указателя.
Но я почти уверен что дело не в этом.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 40002

Старое сообщение 03-12-2008 07:22
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:27. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Память, c++ и visual studio 6.0
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024