IXCLRDataProcess::FollowStub2-metod
Med en adress som är en CLR-stub (och potentiellt tillstånd från en tidigare uppföljning) avgörs nästa körningsadress där du kan kontrollera om stub har avslutats.
Obs! Den här metoden är endast tillgänglig om processrevisionen som returneras av IXCLRDataProcess::Request
är minst 7. För lägre processrevisioner bör anropare använda den föråldrade IXCLRDataProcess::FollowStub
metoden.
Kommentar
Det här API:et utformades ursprungligen för intern användning i körningen. Även om det nu stöds för användning från tredje part rekommenderar vi att du arbetar med ICorDebug
OCH ICorProfiler
API:er när det är möjligt.
Syntax
HRESULT FollowStub(
[in] IXCLRDataTask *task,
[in] ULONG32 inFlags,
[in] CLRDATA_ADDRESS inAddr,
[in] CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
[out] CLRDATA_ADDRESS *outAddr,
[out] CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
[out] ULONG32 *outFlags
);
Parametrar
task
[i] Uppgiften som du vill följa stub för.
inFlags
[i] En uppsättning flaggor som beskriver hur du följer stub. Detta måste vara ett värde för CLRDataFollowStubInFlag
uppräkningen som för närvarande bara innehåller ett värde: CLRDATA_FOLLOW_STUB_DEFAULT (0).
inAddr
[i] Adressen till den stub som ska följas
inBuffer
[i] En ogenomskinlig databuffert som används internt för att upprätthålla tillståndet att gå i en kedja av stubs. Detta bör vara NULL vid det första anropet FollowStub
till metoden.
outAddr
[ut] Nästa körningsadress bestäms från att följa stub.
outBuffer
[ut] En ogenomskinlig databuffert som används internt för att upprätthålla tillståndet att gå i en kedja av stubs.
outFlags
[ut] En uppsättning flaggor som beskriver resultatet av att följa stub. Det här är ett värde för CLRDataFollowStubOutFlag
uppräkningen. Om värdet är CLRDATA_FOLLOW_STUB_INTERMEDIATE
(0) är resultatet ett mellanliggande steg i att följa stub och anroparen kan anropa FollowStub igen. Om värdet är CLRDATA_FOLLOW_STUB_EXIT
(1) är detta slutet på stub-kedjan och outAddr
är körningsadressen i slutet av kedjan.
Kommentarer
En viss adress kan fastställas vara en stub eller inte via användning av metoden IXCLRDataProcess::GetAddressType
som returnerar en typ av CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB
eller CLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB
.
Den angivna metoden är en del av IXCLRDataProcess
gränssnittet och motsvarar den 48:e platsen i den virtuella metodtabellen.
Krav
Plattformar: Se Systemkrav. Rubrik: Inget bibliotek: Inga .NET Framework-versioner: Tillgänglig sedan 4.7