It often happens that the IDE crashes when cutting and pasting text. This happens when when moving blocks of selected text using the mouse, but also when using the keyboard shortcuts like Ctrl-X and Ctrl-V.
Sometimes it does not report an error (like the one below which was fired after a Ctrl-X) but just messes up the whole text. (characters disappear, lines get mixed etc.)
ERROR MESSAGE:
SharpDevelop Version : 2.2.1.2648
.NET Version : 2.0.50727.832
OS Version : Microsoft Windows NT 5.1.2600 Service Pack 2
Current culture : Dutch (Netherlands) (nl-NL)
Current UI language : en
Working Set Memory : 58488kb
GC Heap Memory : 21196kb
Exception thrown:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
at System.String.CtorCharArrayStartLength(Char[] value, Int32 startIndex, Int32 length)
at ICSharpCode.TextEditor.Document.GapTextBufferStrategy.GetText(Int32 offset, Int32 length)
at ICSharpCode.TextEditor.Document.DefaultDocument.GetText(ISegment segment)
at ICSharpCode.SharpDevelop.Bookmarks.BookmarkNode.BookmarkDocumentChanged(Object sender, EventArgs e)
at ICSharpCode.SharpDevelop.Bookmarks.BookmarkNode.BookmarkLineNumberChanged(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at ICSharpCode.TextEditor.Document.Bookmark.OnLineNumberChanged(EventArgs e)
at ICSharpCode.TextEditor.Document.Bookmark.set_LineNumber(Int32 value)
at ICSharpCode.TextEditor.Document.BookmarkManager.MoveIndices(Object sender, LineManagerEventArgs e)
at ICSharpCode.TextEditor.Document.LineManagerEventHandler.Invoke(Object sender, LineManagerEventArgs e)
at ICSharpCode.TextEditor.Document.DefaultLineManager.OnLineCountChanged(LineManagerEventArgs e)
at ICSharpCode.TextEditor.Document.DefaultLineManager.Remove(Int32 lineNumber, Int32 offset, Int32 length)
at ICSharpCode.TextEditor.Document.DefaultLineManager.Replace(Int32 offset, Int32 length, String text)
at ICSharpCode.TextEditor.Document.DefaultLineManager.Remove(Int32 offset, Int32 length)
at ICSharpCode.TextEditor.Document.DefaultDocument.Remove(Int32 offset, Int32 length)
at ICSharpCode.TextEditor.Document.SelectionManager.RemoveSelectedText()
at ICSharpCode.TextEditor.TextAreaClipboardHandler.Cut(Object sender, EventArgs e)
at ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBindingWrapper.Cut()
at ICSharpCode.SharpDevelop.Commands.Cut.Run(IClipboardHandler editable)
at ICSharpCode.SharpDevelop.Commands.AbstractClipboardCommand.Run()
at ICSharpCode.Core.MenuCommand.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripMenuItem.ProcessCmdKey(Message& m, Keys keyData)
at System.Windows.Forms.ToolStripManager.ProcessShortcut(Message& m, Keys shortcut)
at System.Windows.Forms.ToolStripManager.ProcessCmdKey(Message& m, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
at ICSharpCode.SharpDevelop.Gui.DefaultWorkbench.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)