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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Делаем библиотеку, например, 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?
 
N

nvyush

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Понятно. Я пишу в эклипсовом редакторе. Если вбить комментарий и открыть в обычном, то получаем ошибки. Хотя компилится без проблем.
Если же в обычном точно также вбить комментарии, то работает нормально.
 
N

nvyush

Я как-то более забавную багу словил. Не помню, как я этого добился, но в итоге в библиотеке оказалась сохранённой функция, которая не отображалась в панели. То есть открываем библиотеку — функции не видим, но когда пытаемся создать функцию с таким именем, компилятор ругается, что такая уже есть. Пришлось библиотеку пересоздавать.
 
A

AvasKvas

Я встречался с тем, что в дебагере на строке с коментариями вываливалась ошибка! Или, даже пол функции почему то обрезалось (не выводилось на экран) и дебагер бегал по пустым строкам, из-за чего отладить функцию сложно становилось.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!