Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Список багов Windows (отладка)

Здравствуйте.

Описывать возникшую проблему долго, поэтому сначала задам вопрос:
существует ли список багов динамических библиотек,
входящих в состав Windows?

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

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

1. ОС Windows 98
2. версия библиотеки "oleaut32.dll" - "2.40.4518", с двумя другими
версиями этой библиотеки зависания не происходит:
"2.40.4275" (Windows 98)
"3.50.5017" (Windows XP)
3. в запущенной из отладчика программе должно возникнуть исключение
Invalid Variant Type Conversion при преобразовании из строки
Delphi в целое или логическое; при преобразовании
из null добиться зависания не удалось
4. перед возникновением исключения есть вызов writeln; если
заменить writeln на пустой цикл, зависание все равно
возможно, но его вероятность значительно снижается
5. при наличии вызова Sleep зависание наблюдается
со второго запуска, почти всегда

Исследование висящей пары программ в SoftIce много пользы не принесло:

1. в запущенной из отладчика программе помимо главного потока
присутствует поток из "oleaut32.dll"
2. отладчик предположительно висит на внутреннем варианте функции
WaitForSingleObjectEx, вызванном из WaitForDebugEvent;
может, ждет следующее после исключения событие
3. сведений о месте зависания отлаживаемой программы нет, без
отладочной информации для "kernel32.dll" и "oleaut32.dll"
было тяжело понять, что происходит

Кстати, пример отладчика из SDK тоже виснет.

Конечно, маловероятно, что кто-то уже встречался с этим.
Возможно, обойти проблему тоже не удастся.
Однако не хотелось бы оставлять такой баг без
объяснения причин и подтверждения.

Может кто-нибудь знает, где спросить?

Номер выпуска : 4807
Возраст листа : 674 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/407483
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 26 Jul 2005 12:48:12 +0400 (#407483)

 

Ответы:

Хаю ду ю ду Емельянов Алексей?

Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:

Да скорее всего банальное переполнение или Access Violation только на
какой-то хитрый код указатель попадает.

Тебе больше делать нефиг - баги в windows, да еще и 98, отлавливать?
Тем более что он вываливается только при отладке - пользователи его не
будут видеть.

Логичнее было-бы спросить на microsoft.com только вот трабла -
прекратили они поддержку windows 98.

PS: Список багов на microsoft где-то точно есть, ищи в разделах для
developer-ов и в MSDN
PPS: Попробуй поменять версию компилятора - может причина в нем.

Ответить   Tue, 26 Jul 2005 21:28:31 +0500 (#407705)