Win XP vs Win 98

Предыдущая тема Следующая тема Перейти вниз

Win XP vs Win 98

Сообщение  tux в Ср Авг 13, 2008 2:18 pm

Немного предыстории..
Я начал програмерить, когда ХР был еще в диковинку, и в основном везде стояла 98-я. Со временем пришлось переходить на ХР и в етот момент начались проблемы, типа таких:
пишеш прогу, при работе в определенном месте выдает ошибку, береписыываеш немного подругому етот кусок кода, запускаеш - работает, делаешь несколько раз CTRL+Z до предыдущего состояния, и.. о чудо, все опять работает.
После етого пишу я только под 98. Так бы и писал, но седня возникла давно забытая проблема - прога, которая без проблем работает у меня, после небольшой модификации перестала работать под ХР. Пошел отлаживать на тот комп. Просидел пол дня. Трындец, таких чудес я еще не видывал. И после етого мелкомягкие называют ХР-шное ядро супер мега стабильное))
Смысл вот в чем - ошибка возникает в разных местах программы. Как раз в ето время я писал кусок проги, которая обрабатывала даты и время, ну и следовательно я грешным делом подумал на компилятор или его функции работы сдатой, но как оказалось (слава богу), он тут не причем. Все дело в том что ХР пытаясь управлять памятю программы делает нечто нетак, в отличие от 98-ой, в которой практически все возлагается на саму программу. И в 99% случаев прога вылетала, и только в 5% выдавалось сообщение об ошибке (в остальных вылетала, как будто так и должно быть, типа прога виновата). Ошибка указывала на модуль NTDLL.
Люди, мож я не один такой, кто сталкивался с подобными проблемами, че мне сделать, шобы прога работала. Ведь многие производители ПО утверждают что именно в ХР по сравнению с 98-ой софт работает стабильно. В общем то в дальнейшем серавно планируется в основном под Линуксом ее использовать, но всеравно, хочется понять причины таких чудес...
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  tux в Чт Авг 14, 2008 5:35 am

Ща проверил на ближайшем родственнике XP, на 2000, все работает.
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  Eric-S в Пт Авг 15, 2008 6:56 am

А ты случайно не пытаешся напрямую работать с памятью.
В смысле запрашивать динамическую или что-то в этом роде?

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



Возможны проблемы с внешними библиотеками, особенно winApi?

С апи, там вообще весело для win9x мелкософт вставляла заглушки, а win nt их продублировала.
Но наверное это всем известно.

Я вообще кодю именно под хрюшей и нормально.
fb не выёживается, про 98 уже и забыл давно, а об линухе мне пока только мечтать.

Но насколько я замечал, под xp программы (мои) работают более стабильно.
Причём и home и professional edition.
на нескольких разных машинах.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  tux в Пт Авг 15, 2008 8:14 am

Ну весь прикол в том и есть, что я с памятью стараюсь на прямую не работать, единственое передаю из ДЛЛ-ки большую переменную через byref, но до определенного времени все работало, а после дописания еше небольшого куска программы (в котором напрямую с памятью вообще не работал), начали появляться ошибки в случайных местах, в том числе и в основной проге, к которой эта ДЛЛ подключается.
Первая мысль сразу была, что ХР недает делать большой string (хотя ~30КБ не так уж и много, по сравнению с заявленными 2ГБ), поетому ради експеримента запустил прогу, которая расширяла переменную, дошел до 700МБ, все нормально (оперативы 256, соответственно свопил) проблем не было
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  Eric-S в Пт Авг 15, 2008 10:31 am

Описанная ситуация очень похожа на то, что бывает в java.
Там есть, так называемый "сборщик мусора".
Его суть в том, что он прибивает лишние переменные, объекты и т.п.
Тем самым освобождая память.
Запускается же он время от времени и нельзя точно сказать, когда он что сотрёт.
Но если ссылки нет в процессе исполнения программы, то скорее всего данные будут грохнуты.

Мне эта политика не очень понятна. Я бы предпочёл, что-бы программеру оставили возможность прибивать потоки и экземпляры. Ну да подобное не обсуждается.

К чему это я вспомнил? При небрежном программировании в java начинают появлятся, так называемые "плавающие ошибки", то есть, то нет, причём в разное время и в разных местах.
Это работа именно "сборщика мусора".

Может быть у вас происходит нечто похожее?

Кстати, а что за dll'ка?
Если она сторонняя, попробуй написать заглушку на fb.
И заглянуть в тему, где я спрашивал о передачи строк из dll. Может что-то незнакомое всплывёт из моих изысканий.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  tux в Пт Авг 15, 2008 11:11 am

Точно!
Скорее всего гдето у мня идет утечка памяти, тк в проге обрабатываю sqlite-ные базы данных, и результат возвращается в виде указателей на выделенную область памяти с выбранными из базы данных, при неявном освобождении этой памяти она видать так и остается (хотя вродебы везде вычищаю), но причина скорее всего сдесь и кроется.
Спасибо за наводку, буду копать.
А на счет DLL-ки, то она тоже мною написана на FB и подключается как плагин, поетому с передачей параметров там проблем у мня нет.
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Win XP vs Win 98

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения