2012-04-03 10 views
9

Kim jest Noah Richards i dlaczego jego nazwisko na stosie programu visual studio ulega awarii? Odnoszę się do tego specyficznego śladu stosu ... (na mniej ważnej halsie, dlaczego tak się dzieje?) Jest w 100% powtarzalny po dodaniu nawiasów otwierających na chronionym elemencie klasy w 50 rozwiązaniu projektu ...Kim jest Noah Richards i jaki jest jego związek z awarią VS2010?

błąd w pytaniu:

AlignAssignments.dll!NoahRichards.AlignAssignments.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0xb2 bytes 


(Attempted to read or write protected memory. This is often an indication that other memory is corrupt.) 

Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x71 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
CodeAlignment.dll!CMcG.CodeAlignment.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0xa7 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
***AlignAssignments.dll!NoahRichards.AlignAssignments.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut)*** + 0xb2 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
CopyAsHtml.dll!Microsoft.VisualStudio.Text.Formatting.Implementation.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x16b bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
Microsoft.VisualStudio.AutoBraceComplete.dll!Microsoft.VisualStudio.AutoBraceComplete.AutoBraceCommandFilter.GetTypingAction.AnonymousMethod__0() + 0x28 bytes 
Microsoft.VisualStudio.AutoBraceComplete.Impl.Basic.dll!Microsoft.VisualStudio.AutoBraceComplete.Impl.Basic.Pairs.StringBasedPairCreator.OnTypingOpeningCharacter(Microsoft.VisualStudio.AutoBraceComplete.Context.IContext context, char typedChar, System.Func<Microsoft.VisualStudio.AutoBraceComplete.Pair.PairResult> typingAction) + 0x222 bytes 
Microsoft.VisualStudio.AutoBraceComplete.dll!Microsoft.VisualStudio.AutoBraceComplete.Pairs.PairManager.HandleTypeChar(char typedChar, System.Func<Microsoft.VisualStudio.AutoBraceComplete.Pair.PairResult> action) + 0xe5 bytes 
Microsoft.VisualStudio.AutoBraceComplete.dll!Microsoft.VisualStudio.AutoBraceComplete.AutoBraceCommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0xc8 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
OrganizeVBImports.dll!Microsoft.VisualStudio.OrganizeVBImports.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x314 bytes  
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
QuickFind.dll!Microsoft.QuickFind.CommandBlocker.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x45 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x71 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandFilterWrapper.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x71 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x20 bytes 
SolutionNavigator.dll!Microsoft.VisualStudio.Labs.CommandFilter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0xd3 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.VsTextViewAdapter.Exec(ref System.Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, System.IntPtr pvaIn, System.IntPtr pvaOut) + 0x163 bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.SendCommand(System.Guid cmdGroup, uint cmdID, object inParam) + 0x6f bytes 
Microsoft.VisualStudio.Editor.Implementation.dll!Microsoft.VisualStudio.Editor.Implementation.VsKeyboardFilter.TextInput(System.Windows.Input.TextCompositionEventArgs args) + 0x77 bytes 
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.DispatchTextInputEvents.AnonymousMethod__0(Microsoft.VisualStudio.Text.Editor.KeyProcessor p, System.Windows.Input.TextCompositionEventArgs args) + 0xb bytes 
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.Dispatch<System.__Canon>.AnonymousMethod__1a() + 0x18 bytes 
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPoint(object errorSource, System.Action call) + 0x2d bytes  
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.Dispatch<System.Windows.Input.TextCompositionEventArgs>(System.Action<Microsoft.VisualStudio.Text.Editor.KeyProcessor,System.Windows.Input.TextCompositionEventArgs> action, System.Windows.Input.TextCompositionEventArgs args) + 0x150 bytes  
Microsoft.VisualStudio.Platform.VSEditor.dll!Microsoft.VisualStudio.Text.Editor.Implementation.KeyProcessorDispatcher.MakeHandler.AnonymousMethod__17(object sender, System.Windows.Input.TextCompositionEventArgs args) + 0x1c bytes 
PresentationCore.dll!System.Windows.Input.TextCompositionEventArgs.InvokeEventHandler(System.Delegate genericHandler, object genericTarget) + 0x31 bytes  
PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target) + 0x29 bytes 
PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs) + 0x3e bytes  
PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised) + 0xbe bytes 
PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args) + 0x79 bytes 
PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args) + 0x41 bytes 
PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args, bool trusted) + 0x2c bytes  
PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea() + 0x1ff bytes 
PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input) + 0x45 bytes 
PresentationCore.dll!System.Windows.Input.TextCompositionManager.UnsafeCompleteComposition(System.Windows.Input.TextComposition composition) + 0x7e bytes 
PresentationCore.dll!System.Windows.Input.TextCompositionManager.PostProcessInput(object sender, System.Windows.Input.ProcessInputEventArgs e) + 0x41d bytes  
PresentationCore.dll!System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(System.Windows.Input.ProcessInputEventHandler postProcessInput, System.Windows.Input.ProcessInputEventArgs processInputEventArgs) + 0x9d bytes  
PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea() + 0x23b bytes 
PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input) + 0x45 bytes 
PresentationCore.dll!System.Windows.Input.TextCompositionManager.UnsafeStartComposition(System.Windows.Input.TextComposition composition) + 0x74 bytes 
PresentationCore.dll!System.Windows.Input.TextCompositionManager.PostProcessInput(object sender, System.Windows.Input.ProcessInputEventArgs e) + 0x6ca bytes  
PresentationCore.dll!System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(System.Windows.Input.ProcessInputEventHandler postProcessInput, System.Windows.Input.ProcessInputEventArgs processInputEventArgs) + 0x9d bytes  
PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea() + 0x23b bytes 
PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input) + 0x45 bytes 
PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport) + 0x62 bytes 
PresentationCore.dll!System.Windows.Interop.HwndKeyboardInputProvider.ProcessTextInputAction(System.IntPtr hwnd, MS.Internal.Interop.WindowMessage msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled) + 0x189 bytes 
PresentationCore.dll!System.Windows.Interop.HwndSource.OnPreprocessMessage(object param) + 0x2c6 bytes 
WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs) + 0x53 bytes 
WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source, System.Delegate method, object args, int numArgs, System.Delegate catchHandler) + 0x42 bytes  
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs) + 0xb4 bytes  
PresentationCore.dll!System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(ref System.Windows.Interop.MSG msg, ref bool handled) + 0xc6 bytes 
PresentationCore.dll!System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(ref System.Windows.Interop.MSG msg, ref bool handled) + 0x35 bytes  
WindowsBase.dll!System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(ref System.Windows.Interop.MSG msg) + 0x3d bytes  
Microsoft.VisualStudio.Platform.WindowManagement.dll!Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.PreTranslateInput(Microsoft.VisualStudio.OLE.Interop.MSG[] lpmsg, bool handled) + 0xa5 bytes 
[Native to Managed Transition] 
+0

http://stackoverflow.com/users/128945/noah-richards –

+0

Napisał plugin, którego używasz. – jrummell

+0

Moje Google-Fu było słabe ... http://blogs.msdn.com/b/noahric/archive/2011/02/07/moving-on.aspx – Joebone

Odpowiedz

10

Noah Richards jest jednym z twórców, którzy pracowali nad wydaniem Visual Studio 2010. Obecnie pracuje w Google, ale ma kilka rozszerzeń Visual Studio dostępnych w galerii Visual Studio (i uczestniczył w kilku innych).

Wygląda na to, że masz zainstalowane rozszerzenie "Align Assignments" i podczas przetwarzania naciśnięcia klawisza wystąpił błąd.

On również uczestniczy na stack overflow

+0

To przecież mały świat! Wydawało się zabawne, że ktoś ma nazwisko w śladzie stosu! Jak się okazuje, * * mam zainstalowane to rozszerzenie, jednak awaria pojawia się konsekwentnie na wielu naszych maszynach, rozszerzeniach lub nie. Jednak dziękuję za odpowiedź na oba moje pytania :) – Joebone

+4

Pamiętaj, że to nie działa w błąd, to po prostu dzieje się w łańcuchu poleceń, dzięki uprzejmości VS to wszystko w świecie-jest-na-świecie zachowanie łańcucha-wywołania łańcucha :-p –

5

Noe był jednym z twórców na Visual Studio 2010. uwierzyć, że teraz pracuje dla Google to user here, więc może on może pisać więcej szczegółów

+1

Po odtworzeniu tej awarii na komputerach bez Rozszerzenia, zdałem sobie sprawę, że przyczyna jest najprawdopodobniej gdzie indziej. Jutro spróbuję pobrać ślad stosu z maszyny z czystą instalacją i zobaczyć, czy to pomaga zawęzić przyczynę. – Joebone

1

wygląda.? Zainstalowałeś jego assignment alignment plugin.

+0

To zrobiłem, i jest to wesołe! Jednak zdałem sobie sprawę, że ślad stosu w tym przypadku jest mylący, ponieważ awaria jest odtwarzalna na maszynach bez zainstalowanych żadnych rozszerzeń. Chyba powinienem pobrać bardziej przydatny jeden z nich. – Joebone

1

Noe napisał szereg extensions for Visual Studio i jest możliwe, że jeden z nich dzieje się załadować do instalacji. Niektóre znalazły się w Power Tools, a następnie w Visual Studio.

+0

Jest to z pewnością możliwe w moim przypadku :) Jestem czymś w rodzaju ćpuna przedłużającego, który może być czasem strzelaniem sobie w stopę! Jednak w tym konkretnym przypadku nie wydaje się to być przyczyną. A przynajmniej nie jedyna przyczyna :) Dziękujemy za poświęcenie czasu, aby odpowiedzieć! – Joebone

10

Jestem sławny!

Jeśli jesteś ciekaw, zgaduję prawdziwym winowajcą jest rozszerzenie AutoBraceComplete (lub być może na rozszerzeniu CodeAlignment) brudząc rzeczy w jakiś sposób, który rozbija obsługi później na polecenie. AlignAssignments tylko przekazuje dalej wywołania Exec, które nie są przeznaczone dla polecenia przypisania align. Możesz zobaczyć, jak wygląda exec dla AlignAssignments: https://github.com/NoahRic/AlignAssignments/blob/master/CommandFilter.cs

Notatka poboczna - Nie mam pojęcia, co zrobiłem, aby tam umieścić moje imię; może to była nazwa mojej firmy, więc VS zdecydował, że muszę być sławny? Aha, a "CMcG" to tak naprawdę "Chris McGrath", który napisał rozszerzenie CodeAlignment, więc ktoś też powinien o nim zadać pytanie Stack Overflow :) Nie powinienem być jedyną sławną osobą!

+1

To całkiem fajne. Mam wrażenie, że wiele wpisów w śledzeniu stosu nie ma żadnego związku z problemem. W rozszerzeniach Visual Studio masz metodę, która sprawdza, czy to polecenie jest tym, które chcesz przetworzyć. Jeśli nie, przekazujesz go dalej. To spowodowałoby, że wiele wpisów zostało dodanych do śladu stosu, który nie zrobił nic więcej niż wywołanie następnego łącza w łańcuchu. P.S. McGrath nie McGraff;) –

Powiązane problemy