Баг или фича дебаггера?

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#1
Делаем библиотеку, например, testlib.
Код:
Option Public
Option Declare
'test
Sub test()
Dim a As Variant
a = "5"
End Sub


'test2

Sub test2()
Dim a As Variant
a = "6"
End Sub
Делаем, например, кнопку.
Код:
Use "testlib"
Sub Click(Source As Button)
Call test()
Call test2()
End Sub
Запускаем дебаггер. В test() нельзя поставить брейкпоинт кроме как на End Sub. А в test2() можно.
А всё из-за комментария перед функцией. Проверено в 8 и 8.5
WTF?
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#2
Создаём пустую ЛС-библиотеку. Копипастим туда вышеприведённый код весь целиком в (Options). Процедуры создались, но комментарии остались в (Options). Создаём другую ЛС-библиотеку. Аналогично копипастим в неё аналогичный код, только с комментариями между объявлением и телом процедуры. "И волки целы, и овцы сыты" ;). Всегда ставлю комментарии внутри процедур/функций и не парюсь.
Кстати о прерываниях, есть ещё волшебное слово Stop.

Что-то поведение в 8.0.1 не подтвердилось. Без проблем поставил БП на строке а = "5"
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#3
Понятно. Я пишу в эклипсовом редакторе. Если вбить комментарий и открыть в обычном, то получаем ошибки. Хотя компилится без проблем.
Если же в обычном точно также вбить комментарии, то работает нормально.
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#4
Я как-то более забавную багу словил. Не помню, как я этого добился, но в итоге в библиотеке оказалась сохранённой функция, которая не отображалась в панели. То есть открываем библиотеку — функции не видим, но когда пытаемся создать функцию с таким именем, компилятор ругается, что такая уже есть. Пришлось библиотеку пересоздавать.
 

AvasKvas

Well-Known Member
03.06.2009
78
0
#5
Я встречался с тем, что в дебагере на строке с коментариями вываливалась ошибка! Или, даже пол функции почему то обрезалось (не выводилось на экран) и дебагер бегал по пустым строкам, из-за чего отладить функцию сложно становилось.