Ошибка при запуске проекта

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
R-Vova
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.01.2008 (Сб) 10:06
Откуда: Санкт-Петербург

Ошибка при запуске проекта

Сообщение R-Vova » 12.01.2008 (Сб) 10:25

Здравствуйте. Я столкнулся со следующей проблемой. Опишу условия с самого начала.

Имеется сервер с установленной на нём операционной системой Microsoft Windows Server 2003 Enterprise Edition SP2.
На сервере стоит Mysql с БД. Поэтому, он, собственно сервер :)

На сервере постоянное время был открыт и запущен проект написанный на VB 6.0, переодически выполняющий некоторые автоматические операции.

На новогодние праздники сервер выключали. И после включения обнаружилось, что при запуске проекта Basic вылетает с ошибкой:
---------------------------
Mails - Microsoft Visual Basic [design]: vb6.exe - Ошибка приложения

Инструкция по адресу "0x00409719" обратилась к памяти по адресу "0x77e5dac4". Память не может быть "written".
---------------------------
При этом скомпилированный проект на этой же машине запускается и без проблем работает.

Пробовал открывать другой проект - работает.
Новый проект создается.
Visual Studio переустанавливал. Дистрибутив рабочий.

Есть предположение, что Basic создает какие-то файлы, когда проект открыт, которые, по какой-то причине, не удалились при закрытии проекта.

Подскажите, пожалуйста, в каком направлении искать решение моей проблемы?
Буду очень благодарен.

С уважением.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 12.01.2008 (Сб) 10:31

т.е. иными словами, ты компилируешь проект в другом месте. а потом переносишь ехешник, и он работает на сервере?
значит, в другом месте проект visulal basic открывает нормально?

R-Vova
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.01.2008 (Сб) 10:06
Откуда: Санкт-Петербург

Сообщение R-Vova » 12.01.2008 (Сб) 10:37

Да. В другом месте. (Точнее даже в нескольких местах) Проект работает нормально.

По поводу скомпилированного проекта.
Есть .exeшник, который был скомпилирован на этой машине до того, как проект перестал запускаться, и .exeшник который я уже позже компилировал. Запускаются оба, без проблем.

Да. И еще одна деталь, которую может быть непонятно из моего предыдущего объяснения: Проект, который я запускаю, не менялся. Т.е. он запускался до выключения сервера, но перестал открываться после...

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 12.01.2008 (Сб) 11:00

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

R-Vova
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.01.2008 (Сб) 10:06
Откуда: Санкт-Петербург

Сообщение R-Vova » 12.01.2008 (Сб) 11:01

Таак...
В общем нашел проблему. Видимо наш администратор опять баловался с политиками безопасности.
Решил проблему запуском программы от администратора, проект запустился.
После этого запустил уже от того же пользователя, от которого пытался запустить ранее. И теперь VB выдает уже осмысленное сообщение Permission Denied, правда не говорит к какому файлу,.. но проект запускает. Так что счас вооружась filemonitorом будем искать, можно считать, что проблема решена.

Резюмируя замечу: "Программист!, помни о настройках прав доступа!"
:))

R-Vova
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.01.2008 (Сб) 10:06
Откуда: Санкт-Петербург

Сообщение R-Vova » 12.01.2008 (Сб) 11:03

To kibernetics.
Спасибо Большое, что пытаетесь помочь!

Я думал об этом в первую очередь. К сожалению проект большой, но это меня не остановило, и я попробовал, но, к сожалению, после добавления основной формы новый проект вылетал так же как и при открытии уже созданного.
Теперь-то стало понятно, почему, а тогда не помогло :)

Еще раз, Спасибо.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.01.2008 (Сб) 12:06

Инструкция по адресу "0x00409719" обратилась к памяти по адресу "0x77e5dac4". Память не может быть "written".

Мёртвая арифметика указателей судя по всему. Этот адрес (0x00409719) хоть и принадлежит секции кода vb6m, но указывает на середину опкода.

При желании можно было бы прогнать vb6 под отладчиком и посмотреть, какая гадость делает call по этому адресу. Скорее всего какой-нибудь Add-in.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

R-Vova
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.01.2008 (Сб) 10:06
Откуда: Санкт-Петербург

Сообщение R-Vova » 14.01.2008 (Пн) 9:43

Не было необходимого доступа пользователя, от которого запускался проект, к файлу: C:\WINDOWS\debug\UserMode\ChkAcc.log
После добавления пользователю разрешений на чтение и списка содержимого папки всё заработало.
http://support.citrix.com/article/CTX107163
-Тут проблема похожая источниками с моей.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 122

    TopList