ICorDebugEval-gränssnitt
Innehåller metoder för att aktivera felsökningsprogrammet för att köra kod inom kontexten för koden som debugged.
Metoder
Metod | Beskrivning |
---|---|
Abort-metod | Avbryter beräkningen som objektet ICorDebugEval för närvarande utför. |
CallFunction-metod | Konfigurerar ett anrop till den angivna funktionen. (Föråldrad i .NET Framework version 2.0. Använd ICorDebugEval2::CallParameterizedFunction i stället.) |
CreateValue-metod | Hämtar en gränssnittspekare till ett ICorDebugValue-objekt av den angivna typen, med ett initialt värde på noll eller null. (Föråldrad i .NET Framework 2.0; använd ICorDebugEval2::CreateValueForType i stället.) |
GetResult-metod | Hämtar en gränssnittspekare till en ICorDebugValue som innehåller resultatet av utvärderingen. |
GetThread-metod | Hämtar en gränssnittspekare till "ICorDebugThread" där utvärderingen körs eller körs. |
IsActive-metod | Hämtar ett värde som anger om det här ICorDebugEval objektet körs för närvarande. |
NewArray-metod | Allokerar en ny matris med den angivna elementtypen och dimensionerna. (Föråldrad i .NET Framework 2.0; använd ICorDebugEval2::NewParameterizedArray i stället.) |
NewObject-metod | Allokerar en ny objektinstans och anropar den angivna konstruktormetoden. (Föråldrad i .NET Framework 2.0; använd ICorDebugEval2::NewParameterizedObject i stället.) |
NewObjectNoConstructor-metod | Allokerar en ny objektinstans av den angivna typen utan att försöka anropa en konstruktormetod. (Föråldrad i .NET Framework 2.0; använd ICorDebugEval2::NewParameterizedObjectNoConstructor i stället.) |
NewString-metod | Allokerar ett nytt strängobjekt med det angivna innehållet. |
Kommentarer
Ett ICorDebugEval
objekt skapas i kontexten för en specifik tråd som används för att utföra utvärderingarna. Alla objekt och typer som används i en viss utvärdering måste finnas inom samma programdomän. Programdomänen behöver inte vara samma som trådens aktuella programdomän. Utvärderingar kan kapslas.
Utvärderingens åtgärder slutförs inte förrän felsökaren anropar ICorDebugController::Fortsätt och tar sedan emot ett ICorDebugManagedCallback::EvalComplete-återanrop . Om du behöver använda utvärderingsfunktionen utan att tillåta att andra trådar körs kan du pausa trådarna med hjälp av antingen ICorDebugController::SetAllThreadsDebugState eller ICorDebugController::Stop innan du anropar ICorDebugController::Fortsätt.
Eftersom användarkod körs när utvärderingen pågår kan alla felsökningshändelser inträffa, inklusive klassbelastningar och brytpunkter. Felsökaren får som vanligt återanrop för dessa händelser. Utvärderingstillståndet kommer att ses som en del av inspektionen av det normala programtillståndet. Stackkedjan är en CHAIN_FUNC_EVAL
kedja (se uppräkningen "CorDebugStepReason" och metoden ICorDebugChain::GetReason ). Det fullständiga felsöknings-API:et fortsätter att fungera som vanligt.
Om en låst eller oändlig loopningssituation uppstår kanske användarkoden aldrig slutförs. I så fall måste du anropa ICorDebugEval::Abort innan du återupptar programmet.
Anteckning
Det här gränssnittet stöder inte fjärranrop, varken mellan datorer eller processer.
Krav
Plattformar: Se Systemkrav.
Huvudet: CorDebug.idl, CorDebug.h
Bibliotek: CorGuids.lib
.NET Framework versioner: Tillgänglig sedan 1.0