Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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