Жила была IDE, и было всё ок. Но потом у кого то при нажатии Ctrl+Z она сломалась. Были предоставлены скрины. Но эта ошибка была проигнорирована, как большая часть плавающих. Эту ещё и не удавалось воспроизвести никому…
Шло время…
Шло, да…
И у кого то она снова возникла. Снова та же история. И возможно этот цикл ещё пару раз повторялся.
Но по сей день, никто не может поймать эту ошибку. Она появляется в самый неожиданный момент, наносит удар по важной незавершённой сессии (хотя оставляет жертве шанс, которым могут заметить только бывалые - Ctrl+S) и исчезает, как будто её и не было.
Особо странно то, что я не нашёл ни 1 скриншота на форуме, и ни 1 упоминания о ней. Я бы, наверное, решил что я сошёл с ума, если бы @MrFresnel не залил issue с ней, тем самым подтвердив что она не только в моей голове.
Что же она такое? Миф? Коллективная галлюцинация?
Если серьёзно - я сам могу подтвердить, у меня пару раз вылетала IDE от неё. Но это было давно, следов не сохранилось. Вроде это было при запуске IDE/после долгого не пользования/после спящего режима, но я, честно, не представляю что оно такое.
Сообщайте сюда все случаи где Ctrl+Z ломает вам жизнь. На всяк шпаргалочка:
скриншот
сообщение об ошибке
данные о системе (оперативка, и т.п.)
что вы делали, в максимальных подробностях
исходники + отдельно указать из всех исходников - в каком файле эта ошибка возникла.
Конечно, все пункты не обязательны, лучше залейте сюда хоть что то чем ничего. Но чем больше информации - тем лучше.
@Admin быстро информация о ней не найдётся. Раз не хотите делать специальные условия в IDE, чтоб эту ошибку было легче ловить - закрепите пожалуйста эту тему.
Давайте воздержимся от обсуждения личностей, будем говорить исключительно по делу. Лично у меня, эта ошибка возникала. Но, я не могу определить точно когда это происходило - это трудно воспроизвести. У кого какие соображения по этому поводу?
Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.
************** Текст исключения **************
System.ArgumentOutOfRangeException: index should be between 0 and 0
Имя параметра: index
Фактическое значение было 11.
в ICSharpCode.TextEditor.Document.LineSegmentTree.GetNode(Int32 index)
в ICSharpCode.TextEditor.Document.DefaultDocument.GetLineSegment(Int32 line)
в ICSharpCode.TextEditor.TextView.CountColumns(Int32& column, Int32 start, Int32 end, Int32 logicalLine, Graphics g)
в ICSharpCode.TextEditor.TextView.GetDrawingXPos(Int32 logicalLine, Int32 logicalColumn)
в ICSharpCode.TextEditor.TextArea.SetDesiredColumn()
в ICSharpCode.TextEditor.Actions.WordBackspace.Execute(TextArea textArea)
в ICSharpCode.TextEditor.TextArea.ExecuteDialogKey(Keys keyData)
в ICSharpCode.TextEditor.TextArea.ProcessDialogKey(Keys keyData)
в System.Windows.Forms.Control.PreProcessMessage(Message& msg)
в System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
в System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
PascalABCNET
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/PascalABCNET.exe
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2563.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
PluginsSupport
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/PluginsSupport.DLL
----------------------------------------
CompilerTools
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/CompilerTools.DLL
----------------------------------------
WeifenLuo.WinFormsUI.Docking
Версия сборки: 2.2.5489.36547
Версия Win32: 2.2.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
Compiler
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/Compiler.DLL
----------------------------------------
Localization
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/Localization.DLL
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
ICSharpCode.TextEditor
Версия сборки: 0.0.0.0
Версия Win32: 0.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.TextEditor.DLL
----------------------------------------
CodeCompletion
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/CodeCompletion.DLL
----------------------------------------
ParserTools
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ParserTools.DLL
----------------------------------------
Accessibility
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Errors
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/Errors.DLL
----------------------------------------
SyntaxTree
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/SyntaxTree.DLL
----------------------------------------
ICSharpCode.SharpDevelop
Версия сборки: 4.2.1.0
Версия Win32: 4.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.SharpDevelop.DLL
----------------------------------------
ICSharpCode.Core
Версия сборки: 4.2.1.0
Версия Win32: 4.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.Core.DLL
----------------------------------------
ICSharpCode.SharpDevelop.Dom
Версия сборки: 4.2.1.8805
Версия Win32: 4.2.1.8805
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.SharpDevelop.Dom.DLL
----------------------------------------
ICSharpCode.NRefactory
Версия сборки: 4.2.1.8805
Версия Win32: 4.2.1.8805
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.NRefactory.DLL
----------------------------------------
ICSharpCode.AvalonEdit
Версия сборки: 4.2.1.8805
Версия Win32: 4.2.1.8805
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.AvalonEdit.DLL
----------------------------------------
ICSharpCode.Core.Presentation
Версия сборки: 4.2.1.0
Версия Win32: 4.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.Core.Presentation.DLL
----------------------------------------
ICSharpCode.SharpDevelop.Widgets
Версия сборки: 4.2.1.8805
Версия Win32: 4.2.1.8805
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.SharpDevelop.Widgets.DLL
----------------------------------------
ICSharpCode.Core.WinForms
Версия сборки: 4.2.1.0
Версия Win32: 4.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/ICSharpCode.Core.WinForms.DLL
----------------------------------------
System.Design
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Design/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Design.dll
----------------------------------------
Debugger.Core
Версия сборки: 3.0.0.2649
Версия Win32: 3.0.0.2649
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/Debugger.Core.DLL
----------------------------------------
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2623.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
TreeConverter
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/TreeConverter.DLL
----------------------------------------
NETGenerator
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/NETGenerator.DLL
----------------------------------------
SyntaxTreeConverters
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/SyntaxTreeConverters.DLL
----------------------------------------
SemanticTree
Версия сборки: 3.4.0.1758
Версия Win32: 3.4.0.1758
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/SemanticTree.DLL
----------------------------------------
System.Numerics
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
PascalABCParser
Версия сборки: 0.0.0.0
Версия Win32: 0.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/PascalABCParser.DLL
----------------------------------------
OptimizerConversion
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/OptimizerConversion.DLL
----------------------------------------
InternalErrorReport
Версия сборки: 1.0.6807.27158
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/InternalErrorReport.DLL
----------------------------------------
PT4Provider
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/PT4Provider.DLL
----------------------------------------
PT4Tools
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/PT4Tools.DLL
----------------------------------------
SharpDisasm
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/SharpDisasm.DLL
----------------------------------------
SyntaxVisitors
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/SyntaxVisitors.DLL
----------------------------------------
YieldHelpers
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/PascalABC.NET/YieldHelpers.DLL
----------------------------------------
System.Security
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Security/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Security.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
Например:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
Что я делал:
Разное всякое (не помню)
Написал скрипт для своего кликера, который со скоростью звука тыкает Ctrl+Z
Написал что то в IDE
врубил кликер
вырубил кликер
попробовал выделить код (именно только в этот момент возникла ошибка. но я подозреваю что ещё 1 нажатие Ctrl+Z (если бы было к чему возвращать ещё) - привело бы к тому же).
Моё предположение:
IDE пытается обрабатывать Ctrl+Z -ы асинхронно друг от друга. Если 2 накладываются друг на друга - это ломает что то внутреннее, типа содержимое редактора установил первый Ctrl+Z, а переменную означающую общее количество строчек второй (из которых наложились друг на друга) - IDE ломается.
Решение:
Использовать lock чтоб запретить накладывать 1 Ctrl+Z на другое.
Ну так она и воспроизводится. Мало ли, кто Тибетской техникой печати обладает
Вот так и подмывает повторить любимый @RAlex’ом анекдот:
Вышли из леса суровые русские мужики и увидели японскую бензопилу.
— Оба-на! — сказали суровые русские мужики и засунули в пилу щепку.
— Вжик! — сказала пила и распилила щепку.
— Оба-на- сказали суровые русские мужики и засунули в пилу доску.
— Вжжик! — сказала пила и распилила доску.
— Оба-на!- сказали суровые русские мужики и засунули в пилу бревно.
— Вжжжжик! — сказала пила и распилила бревно.
— Оба-на!!!- сказали суровые русские мужики и засунули в пилу рельс.
— Хррр-дзинь — сказала пила и сломалась.
— А-а-а!!!- сказали суровые русские мужики и пошли валить лес топорами.
её изначально получали нормальные люди в нормальных условиях
после запуска IDE, после того как её долго не пользовались (и все её кишки выгрузило в файл подкачки), после спящего режима и т.п. - IDE работает медленно. И в этим моменты, если в 1 пролаг успеть 2 раза тыкнуть Ctrl+Z (и получить удачу из преисподней) - получаем ошибку.
В общем, надо наверное делать больше тестов, больше насилования IDE набором и удалением текста через кликер…
Если кто хочет помочь - я вот этим делал кликеры. Очень кривой скриптовый язык с интерпритатором, который я написал очень давно, но для этого дела сойдёт. Там Help.exe всё объяснит. Вводите команду - он вам даёт её описание. Вводите пустую строку - получаете список команд. Ну, по идее, кроме “Next” “Key” и “Susp” - вряд ли что то понадобится.