Aracılığıyla paylaş


ICorDebugCode3::GetReturnValueLiveOffset Metodu

Belirtilen IL uzaklığı için hata ayıklayıcının işlevden dönüş değerini alabilmesi için kesme noktasının yerleştirilmesi gereken yerel uzaklıkları alır.

Sözdizimi

HRESULT GetReturnValueLiveOffset(
    [in] ULONG32 ILoffset,
    [in] ULONG32 bufferSize,
    [out] ULONG32 *pFetched,
    [out, size_is(buffersize), length_is(*pFetched)] ULong32 pOffsets[]
);

Parametreler

ILoffset IL uzaklığı. Bu bir işlev çağrısı sitesi olmalıdır, aksi takdirde işlev çağrısı başarısız olur.

bufferSize depolamak pOffsetsiçin kullanılabilen bayt sayısı.

pFetched Aslında döndürülen uzaklık sayısına yönelik bir işaretçi. Genellikle değeri 1'dir, ancak tek bir IL yönergesi birden çok CALL derleme yönergesiyle eşlenebilir.

pOffsets Yerel uzaklık dizisi. pOffsets Tek bir IL yönergesi birden çok derleme yönergeleriyle birden çok eşlemeye eşlenebilir ancak genellikle tek CALL bir uzaklık içerir.

Açıklamalar

Bu yöntem, başvuru türü döndüren bir yöntemin dönüş değerini almak için ICorDebugILFrame3::GetReturnValueForILOffset yöntemiyle birlikte kullanılır. İşlev çağrısı sitesine bir IL uzaklığı bu yönteme geçirilmesi bir veya daha fazla yerel uzaklık döndürür. Hata ayıklayıcı daha sonra işlevdeki bu yerel uzaklıklarda kesme noktaları ayarlayabilir. Hata ayıklayıcı kesme noktalarından birine ulaştığında, döndürülen değeri almak için bu yönteme geçirdiğiniz IL uzaklığını ICorDebugILFrame3::GetReturnValueForILOffset yöntemine geçirebilirsiniz. Hata ayıklayıcısı daha sonra ayarlandığı tüm kesme noktalarını temizlemelidir.

Uyarı

ICorDebugCode3::GetReturnValueLiveOffset ve ICorDebugILFrame3::GetReturnValueForILOffset yöntemleri yalnızca başvuru türleri için dönüş değeri bilgilerini almanıza olanak sağlar. Değer türlerinden (yani, türünden türetilen tüm türlerden ValueType) döndürülen değer bilgilerinin alınması desteklenmez.

İşlev, aşağıdaki tabloda gösterilen değerleri döndürür HRESULT .

HRESULT değer Açıklama
S_OK Başarılı.
CORDBG_E_INVALID_OPCODE Verilen IL uzaklık sitesi bir çağrı yönergesi değildir veya işlevi döndürür void.
CORDBG_E_UNSUPPORTED Verilen IL uzaklığı uygun bir çağrıdır, ancak dönüş değeri almak için dönüş türü desteklenmez.

ICorDebugCode3::GetReturnValueLiveOffset Yöntemi yalnızca x86 tabanlı ve AMD64 sistemlerinde kullanılabilir.

Gereksinimler

Platformlar: Bkz. Sistem Gereksinimleri.

Üst bilgi: CorDebug.idl, CorDebug.h

Kitaplık: CorGuids.lib

.NET Framework Sürümleri: 4.5.1 sürümünden itibaren kullanılabilir

Ayrıca bkz.