یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی

هشدار unable to ... for 60 seconds در Visual Studio


پرسش امنیتی

مقدار 12 به علاوه 1 چقدر میشود؟

دیدگاه شما پس از تایید نمایش داده خواهد شد.

احتمالا در Visual Studio هنگام اجرای برخی برنامه ها در مد Debug وقتی انجام کاری بیش از یک دقیقه طول می کشد به هشدار زیر برخورد کرده اید:

Managed Debugging Assistant 'ContextSwitchDeadlock' has detected a problem in....

Additional information: The CLR has been unable to transition from COM context 0xadd0a0 to COM context 0xadd158 for 60 seconds.
 The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages.
 This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time.
 To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.

و لازم است دکمه continue را بزنید تا اجرای برنامه ادامه پیدا کند.

برای اینکه این هشدار نمایش داده نشود و برنامه به کار خود ادامه دهد مراحل زیر را انجام دهید:

  • از منوی Debug زیر منوی Windows گزینه Exeption را انتخاب کنید.(Ctrl+Alt+E)
  • در پنجره باز شده شاخه Managed Debugging Assistants را باز کنید.
  • تیک ContextSwitchDeadlock را بردارید.