| File: Contracts\IDebugger.cs | Web Access |
| Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Abstractions\Microsoft.Diagnostics.DataContractReader.Abstractions.csproj (Microsoft.Diagnostics.DataContractReader.Abstractions) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; namespace Microsoft.Diagnostics.DataContractReader.Contracts; public record struct DebuggerData(bool IsLeftSideInitialized); public enum HijackKind { None, UnhandledException, Other, } public interface IDebugger : IContract { static string IContract.Name { get; } = nameof(Debugger); bool TryGetDebuggerData(out DebuggerData data) => throw new NotImplementedException(); int GetAttachStateFlags() => throw new NotImplementedException(); void MarkDebuggerAttachPending() => throw new NotImplementedException(); void MarkDebuggerAttached(bool fAttached) => throw new NotImplementedException(); bool MetadataUpdatesApplied() => throw new NotImplementedException(); void RequestSyncAtEvent() => throw new NotImplementedException(); void SetSendExceptionsOutsideOfJMC(bool sendExceptionsOutsideOfJMC) => throw new NotImplementedException(); TargetPointer GetDebuggerControlBlockAddress() => throw new NotImplementedException(); void EnableGCNotificationEvents(bool fEnable) => throw new NotImplementedException(); HijackKind GetHijackKind(TargetCodePointer controlPC) => throw new NotImplementedException(); TargetPointer PrepareExceptionHijack(byte[] context, TargetPointer vmThread, byte[]? exceptionRecord, int reason, TargetPointer userData) => throw new NotImplementedException(); } public readonly struct Debugger : IDebugger { // Everything throws NotImplementedException }