An extension for Visual Studio 2013+ that enables the use of macros in the IDE. The extension can record most of the features in Visual Studio including text editing operations.
I'm not sure if this can be solved in VS-Macros, or if VS (or even .NET/CLR) itself is broken beyond repair, but here goes...
I had mapped playback to a repeatable key combination, and held down that playback shortcut. After less than ten repetitions the editor messed up, editing in a location it should not, and then froze. Trying to get it to wake up I got a complete VS crash (including the inevitable and obvious Data Loss, so this should be easy to escalate if required), where an !analyze -v of the crashdump revealed the following:
(I think this might have been the reason I stopped using this extension a few years back)
Edit: Upon running VS under another VS as debugger (as the crash is 100% repeatable within mere seconds), it told me a bit more:
System.InvalidOperationException
HResult=0x80131509
Message=Pipe hasn't been connected yet.
Source=System.Core
StackTrace:
at System.IO.Pipes.PipeStream.CheckReadOperations()
at System.IO.Pipes.PipeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryReader.ReadBytes(Int32 count) in f:\dd\ndp\clr\src\BCL\system\io\binaryreader.cs:line 536
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input) in f:\dd\ndp\clr\src\BCL\system\runtime\serialization\formatters\binary\binarycommonclasses.cs:line 471
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord() in f:\dd\ndp\clr\src\BCL\system\runtime\serialization\formatters\binary\binaryparser.cs:line 386
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run() in f:\dd\ndp\clr\src\BCL\system\runtime\serialization\formatters\binary\binaryparser.cs:line 111
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) in f:\dd\ndp\clr\src\BCL\system\runtime\serialization\formatters\binary\binaryobjectreader.cs:line 172
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) in f:\dd\ndp\clr\src\BCL\system\runtime\serialization\formatters\binary\binaryformatter.cs:line 197
at VSMacros.Pipes.Server.WaitForMessage()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state) in f:\dd\ndp\clr\src\BCL\system\threading\thread.cs:line 68
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) in f:\dd\ndp\clr\src\BCL\system\threading\executioncontext.cs:line 954
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) in f:\dd\ndp\clr\src\BCL\system\threading\executioncontext.cs:line 901
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) in f:\dd\ndp\clr\src\BCL\system\threading\executioncontext.cs:line 890
at System.Threading.ThreadHelper.ThreadStart() in f:\dd\ndp\clr\src\BCL\system\threading\thread.cs:line 105
I'm not sure if this can be solved in VS-Macros, or if VS (or even .NET/CLR) itself is broken beyond repair, but here goes...
I had mapped playback to a repeatable key combination, and held down that playback shortcut. After less than ten repetitions the editor messed up, editing in a location it should not, and then froze. Trying to get it to wake up I got a complete VS crash (including the inevitable and obvious Data Loss, so this should be easy to escalate if required), where an !analyze -v of the crashdump revealed the following:
(I think this might have been the reason I stopped using this extension a few years back)
Edit: Upon running VS under another VS as debugger (as the crash is 100% repeatable within mere seconds), it told me a bit more:
++luck;