Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 05:01
Оценка: 43 (3)
Я тут последнее время усиленно занимаюсь сабжем и в резултате ряда смелых экспериментов советских учёных наконец-то удалось добиться определённых результатов.

Большая просьба потестировать на предмет неправильного поведения отладчика в различных условиях.

Также возможны ICE в режиме отладки. Boot компилируется, интеграция собирается, тесты проходят, но всё возможно. Дело в том, что новый вариант отладки построен на добавлении дополнительного элемента в typed tree и вполне возможно, что я не выявил все места где этот элемент не ожидается.

Именами переменных и методов пока не занимался, поэтому не обращайте пока на это внимание. Это надо делать совместно с интеграцией. Займусь этим позже.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 08:10
Оценка:
Здравствуйте, IT, Вы писали:

IT>Я тут последнее время усиленно занимаюсь сабжем и в резултате ряда смелых экспериментов советских учёных наконец-то удалось добиться определённых результатов.


IT>Большая просьба потестировать на предмет неправильного поведения отладчика в различных условиях.


Ага, в процессе твоей работы ты поломал локейшоны для заголовков методов: теперь заголовок метода имеет локейшон, распространющийся на всё тело метода.
Я решил подебажить компилятор, чтобы узнать, где имеено рассчитывается неправильное значение, но попытка провалилась. По наведении на мышку ни одно значение не показывается, по F10 управление вообще переходит в непредсказуемые места (как будто .pdb и исходники рассинхронизированы)
Вот.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[2]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 15:01
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Ага, в процессе твоей работы ты поломал локейшоны для заголовков методов: теперь заголовок метода имеет локейшон, распространющийся на всё тело метода.


Дай примерчик.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 15:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Ага, в процессе твоей работы ты поломал локейшоны для заголовков методов: теперь заголовок метода имеет локейшон, распространющийся на всё тело метода.


IT>Дай примерчик.

using System;
using System.Collections.Generic;
using System.Text;

using Nemerle;
using Nemerle.Collections;

namespace SPlaneCutter2Lib
{
  /// <summary>
  /// Description of SimpleSolver.
  /// </summary>
  class SimpleSolver
  {
    public event Progress : CutterProgressDelegate; // здесь, в локейшон не включается public. Это я сам попробую поправить.
    protected OnProgress(message : string) : void
    {
      when(Progress != null)
    {
  
    Progress(this, CutterProgressEventArgs(message, 0, 0, 0, 0));
    }
    }

    public Process() : void  // вот этот вот метод
    {

    }
  }
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[4]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 16:17
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ> public event Progress : CutterProgressDelegate; // здесь, в локейшон не включается public. Это я сам попробую поправить.


Здесь лучше не public включить, а event убрать.

СТ> public Process() : void // вот этот вот метод


Это место отлично работает.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 16:45
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>> public event Progress : CutterProgressDelegate; // здесь, в локейшон не включается public. Это я сам попробую поправить.


IT>Здесь лучше не public включить, а event убрать.


Это тогда будет несогласнованным с остальными частями, потому что во всех остальных местах (которые помню) модификаторы доступа включаются. И это полезно для форматтера.

СТ>> public Process() : void // вот этот вот метод


IT>Это место отлично работает.


А нажми ка Ctrl+K, D (или Edit->Advanced->Format document) при включенном форматировании. Что будет? У меня эксепшон, потому что он пытается найти открывающую скобку после заголовка метода, а не может её найти (потому что локейшон заголовка заканчивается в конце метода, а дальне нет открывающих скобок)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[6]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 17:00
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

IT>>Здесь лучше не public включить, а event убрать.


СТ>Это тогда будет несогласнованным с остальными частями, потому что во всех остальных местах (которые помню) модификаторы доступа включаются. И это полезно для форматтера.


Модификаторы нужно исключать. Если что-то полезно для форматера, то для него нужно сделать это отдельно.

IT>>Это место отлично работает.


СТ>А нажми ка Ctrl+K, D (или Edit->Advanced->Format document) при включенном форматировании. Что будет? У меня эксепшон, потому что он пытается найти открывающую скобку после заголовка метода, а не может её найти (потому что локейшон заголовка заканчивается в конце метода, а дальне нет открывающих скобок)


Я бы сделал для форматера отдельный поиск лексем. К тому же для форматера не нужна типизация, т.е. этот поиск можно сделать быстрее.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 17:04
Оценка:
Здравствуйте, IT, Вы писали:

СТ>>Это тогда будет несогласнованным с остальными частями, потому что во всех остальных местах (которые помню) модификаторы доступа включаются. И это полезно для форматтера.

IT>Модификаторы нужно исключать. Если что-то полезно для форматера, то для него нужно сделать это отдельно.

Отдельный парсер писать?

IT>>>Это место отлично работает.


СТ>>А нажми ка Ctrl+K, D (или Edit->Advanced->Format document) при включенном форматировании. Что будет? У меня эксепшон, потому что он пытается найти открывающую скобку после заголовка метода, а не может её найти (потому что локейшон заголовка заканчивается в конце метода, а дальне нет открывающих скобок)


IT>Я бы сделал для форматера отдельный поиск лексем. К тому же для форматера не нужна типизация, т.е. этот поиск можно сделать быстрее.


Отдельный лексер и отдельный поиск уже есть. Но писать еще и отдельный парсер считаю делом нецелсообразным. Да и по сути вопроса: ошибка воспроизводится?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[8]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 17:17
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Отдельный парсер писать?


Зачем? Можно задействовать всё тот-же ExprWalker. Просто ExprFinder заточен на GoTo и подсказки. Если мы будем мешать всё в одну кучу, то скорее всего у нас получится плохо и то и другое.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 17:26
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Отдельный парсер писать?


IT>Зачем? Можно задействовать всё тот-же ExprWalker. Просто ExprFinder заточен на GoTo и подсказки. Если мы будем мешать всё в одну кучу, то скорее всего у нас получится плохо и то и другое.


Я не использую ExprFinder/ExprWalker. Но зато использую штатный парсер и результаты его работы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[10]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 17:45
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Я не использую ExprFinder/ExprWalker. Но зато использую штатный парсер и результаты его работы.


Тогда у тебя есть всё, что нужно.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 17:55
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Я не использую ExprFinder/ExprWalker. Но зато использую штатный парсер и результаты его работы.


IT>Тогда у тебя есть всё, что нужно.


IT, сколько раз говорить, что поломан парсер то... Причем поломан в процессе твоей работы над отладкой. Ты так и не ответил, вылетает ли эксепшон при попытке форматирования того куска кода.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[12]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 18:57
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>IT, сколько раз говорить, что поломан парсер то...


Парсер не поломан. Как раз теперь он работает как надо, учитывая нужды большей части потребителей.

СТ>Причем поломан в процессе твоей работы над отладкой.


Отладка comes first. Всё остальное потом.

СТ>Ты так и не ответил, вылетает ли эксепшон при попытке форматирования того куска кода.


Вылетает диалог с каким-то сообщением.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 19:06
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>IT, сколько раз говорить, что поломан парсер то...

IT>Парсер не поломан. Как раз теперь он работает как надо, учитывая нужды большей части потребителей.
СТ>>Ты так и не ответил, вылетает ли эксепшон при попытке форматирования того куска кода.
IT>Вылетает диалог с каким-то сообщением.

Странные какие-то нужды. Не зря же у метода есть Header, а есть Body. И физически она располагаются в разных местах.
Как я понял, тебе это чинить недосуг/лень/что-то-еще. Попробую сам поправить.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[14]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 19:19
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Попробую сам поправить.


Только отлдку не сломай.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 19:28
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Попробую сам поправить.


IT>Только отлдку не сломай.


У меня она и так не работает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[16]: Отладка
От: IT Россия linq2db.com
Дата: 12.08.07 20:46
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

IT>>Только отлдку не сломай.


СТ>У меня она и так не работает.


Давай примеры, будем фиксить.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.08.07 20:58
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


IT>>>Только отлдку не сломай.


СТ>>У меня она и так не работает.


IT>Давай примеры, будем фиксить.

Поставь бряк на MainParser.n, line 854.
И попробуй пошагово оттуда идти. У меня не показывается ни одного значения по наведению на мышку, плюс, управление прыгает в совершенно непонятные места.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re: Отладка
От: Kisloid Мухосранск  
Дата: 13.08.07 08:27
Оценка:
Здравствуйте, IT, Вы писали:

IT>Большая просьба потестировать на предмет неправильного поведения отладчика в различных условиях.


А msi'ка будет? А то у меня нет возможности собрать самому с исходников
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[18]: Отладка
От: IT Россия linq2db.com
Дата: 13.08.07 15:29
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Поставь бряк на MainParser.n, line 854.

СТ>И попробуй пошагово оттуда идти. У меня не показывается ни одного значения по наведению на мышку, плюс, управление прыгает в совершенно непонятные места.

Ты бут пересобирал?
Если нам не помогут, то мы тоже никого не пощадим.
Re[19]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 13.08.07 15:39
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Поставь бряк на MainParser.n, line 854.

СТ>>И попробуй пошагово оттуда идти. У меня не показывается ни одного значения по наведению на мышку, плюс, управление прыгает в совершенно непонятные места.

IT>Ты бут пересобирал?


Пересобираю батничком BuildAndReg.cmd. Вроде бы он всё что нужно делает
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[20]: Отладка
От: IT Россия linq2db.com
Дата: 13.08.07 17:29
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>>>Поставь бряк на MainParser.n, line 854.

СТ>>>И попробуй пошагово оттуда идти. У меня не показывается ни одного значения по наведению на мышку, плюс, управление прыгает в совершенно непонятные места.

IT>>Ты бут пересобирал?


СТ>Пересобираю батничком BuildAndReg.cmd. Вроде бы он всё что нужно делает


Значит надо разбираться.
Если нам не помогут, то мы тоже никого не пощадим.
Re[18]: Отладка
От: IT Россия linq2db.com
Дата: 14.08.07 03:20
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Поставь бряк на MainParser.n, line 854.

СТ>И попробуй пошагово оттуда идти. У меня не показывается ни одного значения по наведению на мышку,

Это никогда и не работало. В самом начале я написал, что переменными буду заниматься позже.

СТ>плюс, управление прыгает в совершенно непонятные места.


Управление прыгает куда надо, никаких отклонений не заметил, кроме некоторых мелочей с PM, о которых я знаю и пока их просто не дофиксил. Мы точно говорим о последней версии?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[19]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 14.08.07 06:57
Оценка:
Здравствуйте, IT, Вы писали:

IT>Управление прыгает куда надо, никаких отклонений не заметил, кроме некоторых мелочей с PM, о которых я знаю и пока их просто не дофиксил. Мы точно говорим о последней версии?


Да

А еще, кстати, перестали метода схлопываться в регионы. То есть, если в методе есть, скажем, match, то для матча создается HiddenRegion, а для метода — нет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[2]: Отладка
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.08.07 12:00
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>А msi'ка будет? А то у меня нет возможности собрать самому с исходников


Кто же будет выкладывать инсталлятор с заведомо нерабочей версией? Вот доведем до ума и выложим. Тестировать надо не инсталлятор, а из код SVN.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Отладка
От: IT Россия linq2db.com
Дата: 14.08.07 13:09
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>А еще, кстати, перестали метода схлопываться в регионы. То есть, если в методе есть, скажем, match, то для матча создается HiddenRegion, а для метода — нет


Это мы всё починим. Ты мне лучше про отладку расскажи. Что именно не так? Куда оно не туда прыгает?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[21]: Отладка
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 18.08.07 14:57
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>А еще, кстати, перестали метода схлопываться в регионы. То есть, если в методе есть, скажем, match, то для матча создается HiddenRegion, а для метода — нет


IT>Это мы всё починим. Ты мне лучше про отладку расскажи. Что именно не так? Куда оно не туда прыгает?

Наконец-то удалось попробовать еще раз. То ли в тот раз я что-то не то делал, то ли что-то еще, но сейчас всё нормально прыгает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[22]: Отладка
От: IT Россия linq2db.com
Дата: 18.08.07 17:40
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

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


За это время я ещё кое-что подкрутил
... << RSDN@Home 1.2.0 alpha rev. 717>>
Если нам не помогут, то мы тоже никого не пощадим.
Толи бага толи фича
От: Блудов Павел Россия  
Дата: 24.08.07 03:20
Оценка:
Здравствуйте, IT, Вы писали:

При отладке вот такого кода
def ary1 = array[2, 3, 1, 9, 3, 7, 0];
ary1.Sort((x,y)=> x < y);
отладчик по F11 забегает в лямбду, конкретно в x < y, а в таком виде
def ary1 = array[2, 3, 1, 9, 3, 7, 0];
ary1.Sort(_ < _);
по F11 пробегает мимо.

Это специально сделано или случайно?
... << RSDN@Home 1.2.0 alpha rev. 723>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.