Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio hata ayıklaması şu anda aşağıdaki olay türlerini destekler:
Zaman uyumsuz olaylar
Oturum hata ayıklama yöneticisine (SDM) ve IDE'ye hata ayıklanan uygulamanın durumunun değiştiğini bildirin. Bu olaylar SDM ve IDE'nin boş zamanlarında işlenir. Olay işlendikten sonra hata ayıklama altyapısına (DE) yanıt gönderilmez. IDebugOutputStringEvent2 ve IDebugMessageEvent2 arabirimleri zaman uyumsuz olaylara örnektir.
Zaman uyumlu olaylar
Hata ayıklanan uygulamanın durumunun değiştiğini SDM ve IDE'ye bildirin. Bu olaylarla zaman uyumsuz olaylar arasındaki tek fark, ContinueFromSynchronousEvent yöntemiyle bir yanıt gönderilmesidir.
Zaman uyumlu olay göndermek, IDE olayı aldıktan ve işledikten sonra DE'nizin işlemeye devam etmesi gerekiyorsa yararlıdır.
Zaman uyumlu durdurma olayları veya durdurma olayları
Hata ayıklanan uygulamanın kodu yürütmeyi durdurduğunu SDM'ye ve IDE'ye bildirin. Event yöntemiyle bir durdurma olayı gönderdiğinizde, IDebugThread2 parametresi gereklidir. Durdurma olayları, aşağıdaki yöntemlerden birine yapılan bir çağrıyla devam eder:
-
IDebugBreakpointEvent2 ve IDebugExceptionEvent2 arabirimleri, olayları durdurma örnekleridir.
Uyarı
Eşzamanlı olmayan durdurma işlemleri desteklenmez. Zaman uyumsuz bir durdurma olayı göndermek bir hatadır.
Tartışma
Olayların gerçek uygulaması DE'nizin tasarımına bağlıdır. Gönderilen her olayın türü, DE'yi tasarlarken ayarlanan özniteliklerine göre belirlenir. Örneğin, bir DE bir IDebugProgramCreateEvent2'yi zaman uyumsuz bir olay olarak gönderirken, diğeri bunu durdurma olayı olarak gönderebilir.
Aşağıdaki tablo, hangi program ve iş parçacığı parametrelerinin hangi olaylar ve olay türleri için gerekli olduğunu belirtir. Herhangi bir olay zaman uyumlu olabilir. Hiçbir olayın zaman uyumlu olması gerekmez.
Uyarı
Tüm olaylar için IDebugEngine2 arabirimi gereklidir.
| Event | IDebugProgram2 | IDebugThread2 | Olayları Durdurma |
|---|---|---|---|
| IDebugActivateDocumentEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugBreakEvent2 | Gerekli | Gerekli | Yes |
| IDebugBreakpointBoundEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugBreakpointErrorEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugBreakpointUnboundEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugBreakpointEvent2 | Gerekli | Gerekli | Yes |
| IDebugCanStopEvent2 | Gerekli | Gerekli | Hayı |
| IDebugDocumentTextEvents2 | İzin verilmiyor | İzin verilmiyor | Hayı |
| IDebugEngineCreateEvent2 | İzin verilmiyor | İzin verilmiyor | Hayı |
| IDebugEntryPointEvent2 | Gerekli | Gerekli | Yes |
| IDebugErrorEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Olabilir |
| IDebugExceptionEvent2 | Gerekli | Gerekli | Yes |
| IDebugExpressionEvaluationCompleteEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Olabilir |
| IDebugInterceptExceptionCompleteEvent2 | Gerekli | Gerekli | Yes |
| IDebugLoadCompleteEvent2 | Gerekli | Gerekli | Yes |
| IDebugMessageEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Olabilir |
| IDebugModuleLoadEvent2 | Gerekli | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugOutputStringEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugProgramCreateEvent2 | Gerekli | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugProgramDestroyEvent2 | Gerekli | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugPropertyCreateEvent2 | Gerekli | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugPropertyDestroyEvent2 | Gerekli | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugReturnValueEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugStopCompleteEvent2 | Gerekli | Gerekli | Yes |
| IDebugStepCompleteEvent2 | Gerekli | Gerekli | Yes |
| IDebugSymbolSearchEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |
| IDebugThreadCreateEvent2 | Gerekli | Gerekli | Hayı |
| IDebugThreadDestroyEvent2 | Gerekli | Gerekli | Hayı |
| IDebugThreadNameChangedEvent2 | İzin verilir, ancak gerekli değildir | İzin verilir, ancak gerekli değildir | Hayı |