On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение





Пост N: 10
Зарегистрирован: 25.07.06
ссылка на сообщение  Отправлено: 09.08.06 19:21. Заголовок: Плавающий GPF (чтоб его...)


Исходные Clipper 5.2e + CT3 + SIX3.0 + Blinker7.0 (Dual mode)
OS WinXP (Pro) + SP2

Возникает сабж типа
BLX286 : 1313 : exception error 0D : general protection fault, code = 0000h
ну и дальше дамп...
Основная неприятность, что сабж плавающий (в пределах одной процедуры). Сейчас запустил вылетело, запустил еще раз - прошло дальше и снова вылетело. Запустил еще раз - прошло до конца.
Перед тем, как разбираться с дампом, хотелось бы выяснить следующие вопросы:
1 Кто сталкивался с подобной ситуацией и как боролся?
2 Какие могут быть причины возникновения такой проблемы?



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.08.06 09:24. Заголовок: Re:


Была такая проблема при :
1) интенсивном вычислении макроопределений с созданием
по ходу выполнения новых PRIVATE переменных или массивов.
2) при передаче PUBLIC переменных в качестве параметров функций по ссылке.
Вылечилось после отказа от подобных методов.

Спасибо: 0 
Цитата Ответить





Пост N: 24
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 10.08.06 14:08. Заголовок: было такое...


вылетало ни с того, ни с сего при вызове в protected mode функции, требующей параметр определенного типа. Например: при вызове

x:=DIRECTORY(myDir)

если тип myDir не строковый, а к примеру (из-за ошибки) тип дата, получается 100% GPF

Короче так: ТОЧНО ПРОВЕРЯЙ ПАРАМЕТРЫ передаваемые в вызываемую функцию.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 51
Зарегистрирован: 24.09.05
ссылка на сообщение  Отправлено: 16.08.06 18:39. Заголовок: Re:


alexmar пишет:

 цитата:
Возникает сабж типа
BLX286 : 1313 : exception error 0D : general protection fault, code = 0000h
ну и дальше дамп...



Так дамп, милейший - это не мусор. Смотришь адрес ошибки и определяешь по MAP процедуру, которая его вызвала. При этом, определять надо глазами, стандартая утилита из поставки блинкера - слепая или врёт.
alexmar пишет:

 цитата:
Основная неприятность, что сабж плавающий (в пределах одной процедуры).
1 Кто сталкивался с подобной ситуацией и как боролся?
2 Какие могут быть причины возникновения такой проблемы?



1. Способ один - заменить плохой код на хороший
2. Плохо написанный код. Довольно часто - неинициализированные указатели или ваще бредовый код. Отсутствие проверки корректности параметров. В потроха клиппер заглянешь - там просто кошмар, за такое руки надо рубить.


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 13
Зарегистрирован: 25.07.06
ссылка на сообщение  Отправлено: 18.08.06 20:19. Заголовок: Re:


suv2 пишет:

 цитата:
Плохо написанный код.

Подтвердилось. В данном конкретном случае виноватой оказалась функция RemRight() из CT III. Подозреваю, что не одна она может глючить , так как еще раньше была замечена некорректная работа клонов функции Pad()
Поэтому, если кто-нить уже вылавливал такие функции, поделитесь списком, пожалуйста, дабы не наступать на чужие грабли.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 337
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.08.06 20:35. Заголовок: Re:


alexmar
KEYSEC()

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 20
Зарегистрирован: 25.07.06
ссылка на сообщение  Отправлено: 06.09.06 11:51. Заголовок: Re:


Dima пишет:

 цитата:
KEYSEC()

Заметано

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 188
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.06 14:24. Заголовок: Re:


Мое мнение такое. Лучше вообще не пользоваться функциями из CT, без которых в принципе можно обойтись. Например, есть любители, которые используют строковые функции из CT, в то время когда легко тоже самое сделать с помощью стандартных строковых функций Clipper. Включать "чужие" функции или библиотеки без наличия их исходного кода нужно только в крайней необходимости.
Чем меньше контролируемого вами кода, тем надежнее работает программа.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 22
Зарегистрирован: 25.07.06
ссылка на сообщение  Отправлено: 06.09.06 15:48. Заголовок: Re:


Григорьев Владимир пишет:

 цитата:
Чем меньше контролируемого вами кода, тем надежнее работает программа

С эти согласен.
Григорьев Владимир пишет:

 цитата:
Лучше вообще не пользоваться функциями из CT, без которых в принципе можно обойтись.


Свое "колесо" оно, конечно, круглее Но в случае, когда нужно быстро написать прикладную программу изобретение своих велосипедов в условиях цейтнота грозит невыполнением в срок задания и, как следствие, недополучением масла к хлебу
Григорьев Владимир пишет:

 цитата:
Включать "чужие" функции или библиотеки без наличия их исходного кода нужно только в крайней необходимости

Из "чужих" истользую только CT, а, что касается исходного кода, то ведь и к "родным" функциям Clipper исходников в доступном виде нет.

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 262
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 06.09.06 16:51. Заголовок: Re:


alexmar пишет:

 цитата:
ведь и к "родным" функциям Clipper исходников в доступном виде нет.


Думаю, что это НЕ так - смотри по ссылке
http://www.mythologics.com/c53/FUNCLIST.html

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 23
Зарегистрирован: 25.07.06
ссылка на сообщение  Отправлено: 06.09.06 17:31. Заголовок: Re:


gfilatov пишет:

 цитата:
Думаю, что это НЕ так

"Был неправ. Вспылил" (с) А а линк спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 169
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет