Dela via


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

Se även