Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 17.03.14 13:10
Оценка:
Добрый день,

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

разбора, строки не совпадают с позицией отладчика, соответственно ни точки останова поставить ни отладить по шагам.

Вот так это выглядит, сразу после входа в метод TryParse
http://screencast.com/t/dAIrcOicWBN

Nemerle 1.2.183.0 for .Net 4.5

Сейчас работаю в VS2012, в VS2010 отладка работала хорошо.


Microsoft Visual Studio Ultimate 2012
Version 11.0.61030.00 Update 4
Microsoft .NET Framework
Version 4.5.51641

Installed Version: Ultimate

Architecture and Modeling Tools   04940-004-0038003-02687
Microsoft Architecture and Modeling Tools
    
UML® and Unified Modeling Language™ are trademarks or registered trademarks of the Object Management Group, Inc. in the 

United States and other countries.

Team Explorer for Visual Studio 2012   04940-004-0038003-02687
Microsoft Team Explorer for Visual Studio 2012

Visual Basic 2012   04940-004-0038003-02687
Microsoft Visual Basic 2012

Visual C# 2012   04940-004-0038003-02687
Microsoft Visual C# 2012

Visual C++ 2012   04940-004-0038003-02687
Microsoft Visual C++ 2012

Visual F# 2012   04940-004-0038003-02687
Microsoft Visual F# 2012

Visual Studio 2012 Code Analysis Spell Checker   04940-004-0038003-02687
Microsoft® Visual Studio® 2012 Code Analysis Spell Checker

Portions of International CorrectSpell™ spelling correction system © 1993 by Lernout & Hauspie Speech Products N.V. All 

rights reserved.

The American Heritage® Dictionary of the English Language, Third Edition Copyright © 1992 Houghton Mifflin Company. 

Electronic version licensed from Lernout & Hauspie Speech Products N.V. All rights reserved.

ASP.NET and Web Tools   2012.3.41009
Microsoft Web Developer Tools contains the following components:
Support for creating and opening ASP.NET web projects
Browser Link: A communication channel between Visual Studio and browsers
Editor extensions for HTML, CSS, and JavaScript
Page Inspector: Inspection tool for ASP.NET web projects
Scaffolding: A framework for building and running code generators
Server Explorer extensions for Windows Azure Web Sites
Web publishing: Extensions for publishing ASP.NET web projects to hosting providers, on-premises servers, or Windows Azure

BusinessObjectEditor   1.0
Information about my package

JetBrains ReSharper 8.1   Full Edition build 8.1.23.546 on 2013-12-11T23:30:52
JetBrains ReSharper 8.1 package for Microsoft Visual Studio. For more information about ReSharper, visit 

http://www.jetbrains.com/resharper/. Copyright © 2003–2014 JetBrains, Inc.

Microsoft Advertising SDK for Windows Phone   
Microsoft Advertising SDK for Windows Phone
Build 

Nemerle   1.0
Nemerle Visual Studio Integration
Version 1.0

NuGet Package Manager   2.8.50126.400
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

PreEmptive Analytics Visualizer   1.0
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

SQL Server Data Tools   11.1.20627.00
Microsoft SQL Server Data Tools

Workflow Manager Tools 1.0   1.0
This package contains the necessary Visual Studio integration components for Workflow Manager.

XtraReports package   1.0
XtraReports package

Git Extensions
Git Extensions is a graphical interface for Git
For more information about Git Extensions, see the Git Extensions website at
http://code.google.com/p/gitextensions/
Copyright © 2012 Henk Westhuis

VMDebugger
For more information about VMware, Inc., see their website at
http://www.vmware.com
Copyright (c) 2013 VMware, Inc.
Re: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.03.14 01:28
Оценка:
Здравствуйте, Raimon, Вы писали:

R>разбора, строки не совпадают с позицией отладчика, соответственно ни точки останова поставить ни отладить по шагам.


Такое бывает при расинхронизации исходников и pdb-файлов. Попробуй удалить все бинарники (обычно каталоги bin. и obj.) и собрать все с нуля.

Так же перед сборокой удали все из каталога %temp%.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 18.03.14 09:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Raimon, Вы писали:


R>>разбора, строки не совпадают с позицией отладчика, соответственно ни точки останова поставить ни отладить по шагам.


VD>Такое бывает при расинхронизации исходников и pdb-файлов. Попробуй удалить все бинарники (обычно каталоги bin. и obj.) и собрать все с нуля.


VD>Так же перед сборокой удали все из каталога %temp%.


не помогло.

а не могло сломаться в связи с vs2012?
Re[3]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.03.14 12:13
Оценка:
Здравствуйте, Raimon, Вы писали:

R>не помогло.

R>а не могло сломаться в связи с vs2012?

Вряд ли. Мы ее тоже используем. Таких проблем не видели.

Сделай следующее. Во время отладки открой окно Modules и погляди длл в которой код сгенерирован. Убедись, что pdb лежит рядом с ней и имеет то же время создания.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 18.03.14 16:02
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Raimon, Вы писали:


R>>не помогло.

R>>а не могло сломаться в связи с vs2012?

VD>Вряд ли. Мы ее тоже используем. Таких проблем не видели.


VD>Сделай следующее. Во время отладки открой окно Modules и погляди длл в которой код сгенерирован. Убедись, что pdb лежит рядом с ней и имеет то же время создания.


Проверил, у pdb и dll одинаковое время создания.
Re[5]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.03.14 12:48
Оценка:
Здравствуйте, Raimon, Вы писали:

R>Проверил, у pdb и dll одинаковое время создания.


Тогда не знаю. Пришли мне на мыло (из профиля) проект. Постараюсь поглядеть на выходных.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 25.03.14 22:32
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Raimon, Вы писали:


R>>Проверил, у pdb и dll одинаковое время создания.


VD>Тогда не знаю. Пришли мне на мыло (из профиля) проект. Постараюсь поглядеть на выходных.


Спасибо. Отправил.
Re[7]: Не совпадают строки при отладке кода сгенерированного Peg
От: _NN_ www.nemerleweb.com
Дата: 01.04.14 06:15
Оценка:
Здравствуйте, Raimon, Вы писали:

VD>>Тогда не знаю. Пришли мне на мыло (из профиля) проект. Постараюсь поглядеть на выходных.


R>Спасибо. Отправил.


Есть новости ?
Я тоже натыкался на это поведение.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 06.04.14 22:33
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Здравствуйте, Raimon, Вы писали:


VD>>>Тогда не знаю. Пришли мне на мыло (из профиля) проект. Постараюсь поглядеть на выходных.


R>>Спасибо. Отправил.


_NN>Есть новости ?

_NN>Я тоже натыкался на это поведение.

Нет. Вестей пока нет. Жду.
Re[6]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 20.05.14 12:14
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Raimon, Вы писали:


R>>Проверил, у pdb и dll одинаковое время создания.


VD>Тогда не знаю. Пришли мне на мыло (из профиля) проект. Постараюсь поглядеть на выходных.


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

Эта проблема сводит на нет любую отладку парсера, а без отладки ничего не сделать. Очень досадно получается, сделал несколько непростых парсеров для проекта, но из-за этой ошибки я не могу их довести до ума.
Re[7]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.05.14 19:22
Оценка:
Здравствуйте, Raimon, Вы писали:

R>Влад, вы не смотрели в чем может быть дело?

R>Проблема на моем проекте воспроизводится стабильно. Недавно переустанавливал все, по прежнему воспроизводится.

Посмотрел на Json-е. Проблема тоже воспроизводится. Отладчик мажет строк на 9-10.

R>Эта проблема сводит на нет любую отладку парсера, а без отладки ничего не сделать. Очень досадно получается, сделал несколько непростых парсеров для проекта, но из-за этой ошибки я не могу их довести до ума.


Не то чтобы вообще не возможно, но не приятно — да.

Причину пока понять не могу. Но баг присутствует.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.05.14 19:46
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Причину пока понять не могу. Но баг присутствует.


Похоже дело в кривом преобразовании _ = "..." в коментарии.

Замени вот такую строку:
          | _                    => <[ _ = $($"$currentRule" : string); $code ]>

на такую:
          | _                    => code//<[ _ = $($"$currentRule" : string); $code ]>


Это должно помочь.

Но это решение приведет к тому, что в коде не будет комментариев описывающих какое правило разбирается.

Реально нужно чинить именно преобразование в компилятор. Но это уже не сегодня.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.05.14 14:04
Оценка:
Здравствуйте, Raimon, Вы писали:

R>Эта проблема сводит на нет любую отладку парсера, а без отладки ничего не сделать. Очень досадно получается, сделал несколько непростых парсеров для проекта, но из-за этой ошибки я не могу их довести до ума.


Исправил. Дело было в том, что Немерл не поддерживал юникодные концы строк (а редактор их поддерживает даже в немерловом файле).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.05.14 14:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Raimon, Вы писали:


R>>Эта проблема сводит на нет любую отладку парсера, а без отладки ничего не сделать. Очень досадно получается, сделал несколько непростых парсеров для проекта, но из-за этой ошибки я не могу их довести до ума.


VD>Исправил. Дело было в том, что Немерл не поддерживал юникодные концы строк (а редактор их поддерживает даже в немерловом файле).


Проверяй. Если все ОК, создай ишью на гитхабе с описанием проблемы и закрой его сразу.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Не совпадают строки при отладке кода сгенерированного Peg
От: Raimon  
Дата: 23.05.14 08:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, VladD2, Вы писали:


VD>>Здравствуйте, Raimon, Вы писали:


R>>>Эта проблема сводит на нет любую отладку парсера, а без отладки ничего не сделать. Очень досадно получается, сделал несколько непростых парсеров для проекта, но из-за этой ошибки я не могу их довести до ума.


VD>>Исправил. Дело было в том, что Немерл не поддерживал юникодные концы строк (а редактор их поддерживает даже в немерловом файле).


VD>Проверяй. Если все ОК, создай ишью на гитхабе с описанием проблемы и закрой его сразу.


VladD2, не могли бы вы собрать инсталятор для .net4.5 c исправлением?
Re[10]: Не совпадают строки при отладке кода сгенерированного Peg
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.14 14:24
Оценка:
Здравствуйте, Raimon, Вы писали:

R>VladD2, не могли бы вы собрать инсталятор для .net4.5 c исправлением?


Это должно автоматом происходить. Что-то "заело" на билдесервере. Разбираемся.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Не совпадают строки при отладке кода сгенерированного Peg
От: _NN_ www.nemerleweb.com
Дата: 24.05.14 06:38
Оценка:
Здравствуйте, Raimon, Вы писали:

Установщики скачивать можно здесь : http://nemerle.org/Downloads
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.