Отладочная среда vb.net #**от# или как отлаживался баг :)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Отладочная среда vb.net #**от# или как отлаживался баг :)

Сообщение Maitris » 27.01.2006 (Пт) 12:35

В общем был такой фрагмент кода:


Код: Выделить всё
Form1.strDocumentLocation = Form1.strToDocumentLocation
           
                Form1.BackForwardPosition += 1
                Form1.BackForwardArray(Form1.BackForwardPosition) = Form1.strDocumentLocation
           

            Dim a As Integer
            a = InStrRev(Form1.strDocumentLocation, "ns="
            If a > 0 Then
                Form1.strLastTarget = Mid(Form1.strDocumentLocation, a + 3)
            End If

            Form1.txtAdress.Text = Form1.strDocumentLocation



Значит получаю в строке
Код: Выделить всё
a = InStrRev(Form1.strDocumentLocation, "ns="

IndexOutOfRangeException и переход в режим отладки.
Ну думаю .Net вообще отъехал, массивов то тут в помине нет :lol:

Ну ладно, не в состоянии определить причину ошибки, удаляю кусок
Код: Выделить всё
Dim a As Integer
            a = InStrRev(Form1.strDocumentLocation, "ns="
            If a > 0 Then
                Form1.strLastTarget = Mid(Form1.strDocumentLocation, a + 3)
            End If

нафиг.

Возникает IndexOutOfRangeException, но уже выделяет строку
Код: Выделить всё
Form1.txtAdress.Text = Form1.strDocumentLocation

...

Ставлю

Код: Выделить всё
Try
Form1.txtAdress.Text = Form1.strDocumentLocation
Catch ex As System.IndexOutOfRangeException
End Try
...

VB.net все еще не понял.. Опять переход в режим отладки на ту же строку :shock:

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

Код: Выделить всё
Form1.BackForwardArray(Form1.BackForwardPosition) = Form1.strDocumentLocation


Ну и как вам такая отладка? Точна как атомные часы у бабушек в кладовке..
----

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 27.01.2006 (Пт) 23:25

надо просто ребилдить проект.

А, вообще,

Mid заменяется на str.Substring
InStr на str.IndexOf
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 28.01.2006 (Сб) 0:10

Sebas

sebas писал(а):надо просто ребилдить проект.


А толку? Пробовал и не раз. Это конкретно ошибка IDE. В MSDN упоминается только о возможной некорректности обработки ошибок во вложенных классах, но так, прямо в коде основной формы..

sebas писал(а):А, вообще,
Mid заменяется на str.Substring
InStr на str.IndexOf

Все это знают... Но так привычнее.
----


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList