Aracılığıyla paylaş


IDiaSession

Hata ayıklama simgeleri için bir sorgu bağlamı sağlar.

Sözdizimi

IDiaSession : IUnknown

Yöntemler

Aşağıdaki tabloda IDiaSessionyöntemleri gösterilmektedir.

Yöntem Açıklama
IDiaSession::get_loadAddress Bu simge deposundaki sembollere karşılık gelen yürütülebilir dosyanın yük adresini alır. Bu, put_loadAddress yöntemine geçirilen değerle aynıdır.
IDiaSession::put_loadAddress Bu simge deposundaki sembollere karşılık gelen yürütülebilir dosyanın yük adresini ayarlar. Not: Bir IDiaSession nesnesi aldığınızda ve nesneyi kullanmaya başlamadan önce bu yöntemi çağırmak önemlidir.
IDiaSession::get_globalScope Genel kapsama bir başvuru alır.
IDiaSession::getEnumTables Sembol deposunda bulunan tüm tablolar için bir numaralandırıcı alır.
IDiaSession::getSymbolsByAddr Statik konumlardaki tüm adlandırılmış simgeler için bir numaralandırıcı alır.
IDiaSession::findChildren Belirtilen üst tanımlayıcının ad ve simge türüyle eşleşen tüm alt öğelerini alır.
IDiaSession::findChildrenEx İyileştirilmiş yerel ayarlar da dahil olmak üzere ad ve simge türüyle eşleşen belirtilen üst tanımlayıcının tüm alt öğelerini alır.
IDiaSession::findChildrenExByAddr Belirtilen bir adresi içeren veya en yakın olan iyileştirilmiş yerel öğeler de dahil olmak üzere ad ve simge türüyle eşleşen belirtilen üst tanımlayıcının tüm alt öğelerini alır.
IDiaSession::findChildrenExByVA Belirtilen bir sanal adresi (VA) içeren veya en yakın olan iyileştirilmiş yerel öğeler de dahil olmak üzere, ad ve simge türüyle eşleşen belirtilen üst tanımlayıcının tüm alt öğelerini alır.
IDiaSession::findChildrenExByRVA Belirtilen bir göreli sanal adresi (RVA) içeren veya en yakın olan iyileştirilmiş yerel öğeler de dahil olmak üzere, ad ve simge türüyle eşleşen belirtilen üst tanımlayıcının tüm alt öğelerini alır.
IDiaSession::findSymbolByAddr Belirtilen adresi içeren veya en yakın olan belirtilen simge türünü alır.
IDiaSession::findSymbolByRVA Belirtilen göreli sanal adresi (RVA) içeren veya en yakın olan belirtilen simge türünü alır.
IDiaSession::findSymbolByVA Belirtilen sanal adresi (VA) içeren veya en yakın olan belirtilen simge türünü alır.
IDiaSession::findSymbolByToken Belirtilen meta veri belirtecini içeren simgeyi alır.
IDiaSession::symsAreEquiv İki simgenin eşdeğer olup olmadığını denetler.
IDiaSession::symbolById Bir simgeyi benzersiz tanımlayıcısıyla alır.
IDiaSession::findSymbolByRVAEx Belirtilen göreli sanal adresi ve uzaklığı içeren veya en yakın olan belirtilen simge türünü alır.
IDiaSession::findSymbolByVAEx Belirtilen sanal adresi ve uzaklığı içeren veya en yakın olan belirtilen simge türünü alır.
IDiaSession::findFile Bir kaynak dosyayı compiland ve ada göre alır.
IDiaSession::findFileById Kaynak dosya tanımlayıcıya göre bir kaynak dosya alır.
IDiaSession::findLines Belirtilen bir compiland ve kaynak dosya tanımlayıcısı içindeki satır numaralarını alır.
IDiaSession::findLinesByAddr Belirtilen adres içeren belirtilen bir compiland içindeki satırları alır.
IDiaSession::findLinesByRVA Belirtilen bir compiland'da belirtilen göreli sanal adresi içeren satırları alır.
IDiaSession::findLinesByVA Belirtilen adres aralığında yer alan satırların satır numarası bilgilerini bulur.
IDiaSession::findLinesByLinenum Belirtilen bir compiland içindeki satırları kaynak dosya ve satır numarasına göre alır.
IDiaSession::findInjectedSource Öznitelik sağlayıcıları veya derleme işleminin diğer bileşenleri tarafından sembol deposuna yerleştirilmiş bir kaynağı alır.
IDiaSession::getEnumDebugStreams Hata ayıklama veri akışlarının numaralandırılmış sırasını alır.
IDiaSession::findInlineFramesByAddr İstemcinin belirli bir adresteki tüm satır içi çerçevelerde yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineFramesByRVA İstemcinin belirtilen göreli sanal adresteki (RVA) tüm satır içi çerçevelerde yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineFramesByVA İstemcinin belirtilen sanal adresteki (VA) tüm satır içi çerçevelerde yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineeLines Bir istemcinin, belirtilen üst simge tarafından satır içi, doğrudan veya dolaylı olarak tüm işlevlerin satır numarası bilgilerini yinelemesine olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineeLinesByAddr Bir istemcinin, belirtilen üst simge tarafından doğrudan veya dolaylı olarak satır numarası bilgilerini yinelemesini sağlayan ve belirtilen adres aralığında yer alan bir sabit listesi alır.
IDiaSession::findInlineeLinesByRVA Bir istemcinin, belirtilen üst simge tarafından satır içi, doğrudan veya dolaylı olarak ve belirtilen göreli sanal adreste (RVA) yer alan tüm işlevlerin satır numarası bilgilerini yinelemesine olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineeLinesByVA Bir istemcinin, belirtilen üst simge tarafından satır içi, doğrudan veya dolaylı olarak ve belirtilen sanal adreste (VA) yer alan tüm işlevlerin satır numarası bilgilerini yinelemesine olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineeLinesByLinenum bir istemcinin, belirtilen kaynak dosya ve satır numarasında, doğrudan veya dolaylı olarak satırlanmış tüm işlevlerin satır numarası bilgilerini yinelemesine olanak tanıyan bir numaralandırma alır.
IDiaSession::findInlineesByName bir istemcinin belirtilen adla eşleşen tüm satır içi işlevlerin satır numarası bilgilerini yinelemesine olanak tanıyan bir numaralandırma alır.
IDiaSession::findAcceleratorInlineesByLinenum Belirtilen kaynak konuma karşılık gelen satır içi çerçeveler için simgelerin bir numaralandırmasını döndürür.
IDiaSession::findSymbolsForAcceleratorPointerTag Belirtilen etiket değerinin üst Hızlandırıcı saplama işlevinde karşılık gelen değişkeni için simgelerin bir numaralandırmasını döndürür.
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag Karşılık gelen bir etiket değeri verildiğinde, bu yöntem belirtilen bir göreli sanal adresteki belirtilen üst Hızlandırıcı saplama işlevinde bulunan simgelerin bir numaralandırması döndürür.
IDiaSession::findAcceleratorInlineesByName Belirtilen satır içi işlev adına karşılık gelen satır içi çerçeveler için simgelerin bir numaralandırmasını döndürür.
IDiaSession::addressForVA Belirtilen sanal adres (VA) için eşdeğer adresi döndürür.
IDiaSession::addressForRVA Belirtilen göreli sanal adres (RVA) için eşdeğer adresi döndürür.
IDiaSession::findILOffsetsByAddr İstemcinin belirtilen adres aralığındaki MSIL uzaklıklarında yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findILOffsetsByRVA Bir istemcinin belirtilen göreli sanal adres (RVA) aralığı içindeki MSIL uzaklıklarında yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findILOffsetsByVA bir istemcinin belirtilen sanal adres (VA) aralığındaki MSIL uzaklıklarında yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findInputAssemblyFiles İstemcinin .NET Native giriş derleme dosyalarında yineleme yapmasına olanak tanıyan bir numaralandırma alır.
IDiaSession::findInputAssembly Dizine göre bir .NET Yerel giriş derleme dosyası alır.
IDiaSession::findInputAssemblyById Benzersiz tanımlayıcıya göre .NET Yerel giriş derleme dosyasını alır.
IDiaSession::getFuncMDTokenMapSize .NET Yerel meta veri işlev belirteci eşlemesinin boyutunu bayt cinsinden alır.
IDiaSession::getFuncMDTokenMap .NET Native metadata işlev belirteci eşlemesinin içeriğini alır.
IDiaSession::getTypeMDTokenMapSize .NET Native meta veri türü belirteç eşlemesinin boyutunu bayt cinsinden alır.
IDiaSession::getTypeMDTokenMap .NET Yerel meta veri türü belirteç eşlemesinin içeriğini alır.
IDiaSession::getNumberOfFunctionFragments_VA Belirtilen sanal adresteki (VA) işlev için bitişik olmayan parça sayısını alır.
IDiaSession::getNumberOfFunctionFragments_RVA belirtilen göreli sanal adreste (RVA) işlev için bitişik olmayan parça sayısını alır.
IDiaSession::getFunctionFragments_VA Belirtilen sanal adresteki (VA) işlev için bitişik olmayan parçaların adreslerini ve uzunluklarını alır.
IDiaSession::getFunctionFragments_RVA belirtilen göreli sanal adreste (RVA) işlev için bitişik olmayan parçaların adreslerini ve uzunluklarını alır.
IDiaSession::getExports Dışarı aktarılan tüm simgeler için bir numaralandırıcı alır.
IDiaSession::getHeapAllocationSites Tüm SymTagHeapAllocationSite simgeleri için bir numaralandırıcı alır.
IDiaSession::findInputAssemblyFile Belirtilen simgenin üst öğesi olan .NET Native giriş derleme dosyasını alır.

Açıklamalar

IDiaSession nesnesini oluşturduktan sonra IDiaSession::put_loadAddress yöntemini çağırmak ve simgelerin sanal adres (VA) özelliklerinin erişilebilir olması için put_loadAddress yöntemine geçirilen değerin sıfır olmayan olması gerekir. Yük adresi, hata ayıklanan yürütülebilir dosyayı yüklemiş olan programdan gelir. Örneğin, yürütülebilir dosyaya bir tanıtıcı verilip yürütülebilir dosyanın yük adresini almak için Win32 işlevini GetModuleInformation çağırabilirsiniz.

Örnek

Bu örnekte, Hata Ayıklama Arabirimi Erişimi (DIA) SDK'sının genel başlatmasının bir parçası olarak IDiaSession arabiriminin nasıl elde edileceği gösterilmektedir.

CComPtr<IDiaDataSource> pSource;
ComPtr<IDiaSession> psession;

void InitializeDIA(const char *szFilename)
{
    HRESULT hr = CoCreateInstance( CLSID_DiaSource,
                                   NULL,
                                   CLSCTX_INPROC_SERVER,
                                   __uuidof( IDiaDataSource ),
                                  (void **) &pSource);
    if (FAILED(hr))
    {
        Fatal("Could not CoCreate CLSID_DiaSource. Register msdia80.dll." );
    }
    wchar_t wszFilename[ _MAX_PATH ];
    mbstowcs( wszFilename,
              szFilename,
              sizeof( wszFilename )/sizeof( wszFilename[0] ) );
    if ( FAILED( pSource->loadDataFromPdb( wszFilename ) ) )
    {
        if ( FAILED( pSource->loadDataForExe( wszFilename, NULL, NULL ) ) )
        {
            Fatal( "loadDataFromPdb/Exe" );
        }
    }
    if ( FAILED( pSource->openSession( &psession ) ) )
    {
        Fatal( "openSession" );
    }
}

Gereksinim -leri

Üst bilgi: Dia2.h

Kitaplık: diaguids.lib

DLL: msdia80.dll

Ayrıca bkz.