Dela via


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

Se även