コール スタックで次のことに気付き、何を変更する必要があるのか疑問に思いました。
ToolStrip
アイテム クリック イベントを使用してコードを起動しています。デバッグしようとすると、VS2012 が定期的にロックすることがわかりました。
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData) + 0x681 バイト
スタック全体は
SBD.Syrius.UI.exe!SBD.Syrius.UI.Logs.LogListForm.MyActivate() 35 行目 C# SBD.Syrius.UI.exe!SBD.Syrius.UI.MdiController.ActivateForm(SBD.Syrius.UI.baseFeature 機能, SBD.Syrius.DomainClasses.FormMode モード) 178 行目 + 0x18 バイト C# SBD.Syrius.UI.exe!SBD.Syrius.UI.MdiController.LoadFeature(SBD.Syrius.DomainClasses.FeatureType featurenum) 283 行目 + 0x49 バイト C# SBD .Syrius.UI.exe!SBD.Syrius.UI.Helpers.MainMenuHelper.LoadFeature(SBD.Syrius.DomainClasses.FeatureType featureType) 256 行目 + 0x33 バイト C# SBD.Syrius.UI.exe!SBD.Syrius.UI.Helpers. MainMenuHelper.ConfigureToolbar.AnonymousMethod__4() 41 行目 + 0xf バイト C# SBD.Syrius.UI.exe!SBD.Syrius.UI.Helpers.MainMenuHelper.CreateToolStripButton.AnonymousMethod__5(object s, System.EventArgs e) 67 行目 + 0x20 バイト C# システム.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.HandleClick(System.EventArgs e) + 0xb6 バイト
System.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.HandleMouseUp(System.Windows.Forms.MouseEventArgs e) + 0x237 バイト
System.Windows.Forms.dll!System.Windows.Forms.ToolStrip.OnMouseUp(System. Windows.Forms.MouseEventArgs mea) + 0xef バイト System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons ボタン, int クリック) + 0x48b バイト System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0xe14 バイト System.Windows.Forms.dll!System.Windows.Forms.ToolStrip. WndProc(ref System.Windows.Forms.Message m) + 0x8c バイト
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) + 0x14c バイト
[ネイティブからマネージドへの移行]
[マネージドからネイティブへの移行]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData) + 0x681 バイト
System.Windows.Forms .dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext コンテキスト) + 0x57c バイト
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x6f バイト
SBD.Syrius.UI.exe!SBD.Syrius.UI.Program .Main (string[] args) 55 行目 + 0x9 バイト C# [ネイティブからマネージドへの移行]
[マネージドからネイティブへの移行]
+ 0x66 バイト Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() + 0x8d バイト
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext、System.Threading.ContextCallback コールバック、オブジェクト状態、bool preserveSyncCtx) + 0x285 バイト mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading .ExecutionContext executionContext、System.Threading.ContextCallback コールバック、オブジェクト状態、bool preserveSyncCtx) + 0x9 バイト
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext、System.Threading.ContextCallback コールバック、オブジェクト状態) + 0x57 バイト
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x51 バイト
[Managed Transition にネイティブ]