Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyediakan konteks kueri untuk simbol debug.
Sintaksis
IDiaSession : IUnknown
Metode
Tabel berikut ini memperlihatkan metode IDiaSession.
| Metode | Deskripsi |
|---|---|
IDiaSession::get_loadAddress |
Mengambil alamat beban untuk file yang dapat dieksekusi yang sesuai dengan simbol di penyimpanan simbol ini. Ini adalah nilai yang sama yang diteruskan ke metode put_loadAddress. |
IDiaSession::put_loadAddress |
Mengatur alamat beban untuk file yang dapat dieksekusi yang sesuai dengan simbol di penyimpanan simbol ini.
Catatan: Penting untuk memanggil metode ini ketika Anda mendapatkan objek IDiaSession dan sebelum Anda mulai menggunakan objek. |
IDiaSession::get_globalScope |
Mengambil referensi ke cakupan global. |
IDiaSession::getEnumTables |
Mengambil enumerator untuk semua tabel yang terkandung dalam penyimpanan simbol. |
IDiaSession::getSymbolsByAddr |
Mengambil enumerator untuk semua simbol bernama di lokasi statis. |
IDiaSession::findChildren |
Mengambil semua turunan dari pengidentifikasi induk tertentu yang cocok dengan nama dan jenis simbol. |
IDiaSession::findChildrenEx |
Mengambil semua turunan dari pengidentifikasi induk tertentu yang cocok dengan nama dan jenis simbol, termasuk lokal yang dioptimalkan. |
IDiaSession::findChildrenExByAddr |
Mengambil semua turunan dari pengidentifikasi induk tertentu yang cocok dengan nama dan jenis simbol, termasuk lokal yang dioptimalkan, yang berisi, atau paling dekat dengan, alamat tertentu. |
IDiaSession::findChildrenExByVA |
Mengambil semua anak dari pengidentifikasi induk tertentu yang cocok dengan nama dan jenis simbol, termasuk lokal yang dioptimalkan, yang berisi, atau paling dekat dengan, alamat virtual (VA) tertentu. |
IDiaSession::findChildrenExByRVA |
Mengambil semua turunan dari pengidentifikasi induk tertentu yang cocok dengan nama dan jenis simbol, termasuk lokal yang dioptimalkan, yang berisi, atau paling dekat dengan, alamat virtual relatif (RVA) tertentu. |
IDiaSession::findSymbolByAddr |
Mengambil jenis simbol tertentu yang berisi, atau paling dekat dengan, alamat tertentu. |
IDiaSession::findSymbolByRVA |
Mengambil jenis simbol tertentu yang berisi, atau paling dekat dengan, alamat virtual relatif (RVA) tertentu. |
IDiaSession::findSymbolByVA |
Mengambil jenis simbol tertentu yang berisi, atau paling dekat dengan, alamat virtual (VA) tertentu. |
IDiaSession::findSymbolByToken |
Mengambil simbol yang berisi token metadata tertentu. |
IDiaSession::symsAreEquiv |
Memeriksa untuk melihat apakah dua simbol setara. |
IDiaSession::symbolById |
Mengambil simbol dengan pengidentifikasi uniknya. |
IDiaSession::findSymbolByRVAEx |
Mengambil jenis simbol tertentu yang berisi, atau paling dekat dengan, alamat virtual relatif dan offset tertentu. |
IDiaSession::findSymbolByVAEx |
Mengambil jenis simbol tertentu yang berisi, atau paling dekat dengan, alamat virtual dan offset tertentu. |
IDiaSession::findFile |
Mengambil file sumber menurut kompilasi dan nama. |
IDiaSession::findFileById |
Mengambil file sumber menurut pengidentifikasi file sumber. |
IDiaSession::findLines |
Mengambil nomor baris dalam pengidentifikasi file kompilasi dan sumber tertentu. |
IDiaSession::findLinesByAddr |
Mengambil baris dalam kompilasi tertentu yang berisi alamat tertentu. |
IDiaSession::findLinesByRVA |
Mengambil baris dalam kompilasi tertentu yang berisi alamat virtual relatif tertentu. |
IDiaSession::findLinesByVA |
Menemukan informasi nomor baris untuk baris yang terkandung dalam rentang alamat tertentu. |
IDiaSession::findLinesByLinenum |
Mengambil baris dalam kompilasi tertentu menurut file sumber dan nomor baris. |
IDiaSession::findInjectedSource |
Mengambil sumber yang telah ditempatkan ke penyimpanan simbol oleh penyedia atribut atau komponen lain dari proses kompilasi. |
IDiaSession::getEnumDebugStreams |
Mengambil urutan aliran data debug yang dijumlahkan. |
IDiaSession::findInlineFramesByAddr |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui semua bingkai sebaris pada alamat tertentu. |
IDiaSession::findInlineFramesByRVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui semua bingkai sebaris pada alamat virtual relatif (RVA) tertentu. |
IDiaSession::findInlineFramesByVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui semua bingkai sebaris pada alamat virtual (VA) tertentu. |
IDiaSession::findInlineeLines |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris dari semua fungsi yang inlined, langsung atau tidak langsung, oleh simbol induk yang ditentukan. |
IDiaSession::findInlineeLinesByAddr |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris dari semua fungsi yang sebaris, langsung atau tidak langsung, oleh simbol induk yang ditentukan dan terkandung dalam rentang alamat yang ditentukan. |
IDiaSession::findInlineeLinesByRVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris semua fungsi yang sebaris, langsung atau tidak langsung, oleh simbol induk yang ditentukan dan terkandung dalam alamat virtual relatif (RVA) yang ditentukan. |
IDiaSession::findInlineeLinesByVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris semua fungsi yang sebaris, langsung atau tidak langsung, oleh simbol induk yang ditentukan dan terkandung dalam alamat virtual (VA) yang ditentukan. |
IDiaSession::findInlineeLinesByLinenum |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris semua fungsi yang sebaris, langsung atau tidak langsung, dalam file sumber dan nomor baris yang ditentukan. |
IDiaSession::findInlineesByName |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui informasi nomor baris dari semua fungsi bergaris yang cocok dengan nama yang ditentukan. |
IDiaSession::findAcceleratorInlineesByLinenum |
Mengembalikan enumerasi simbol untuk bingkai sebaris yang sesuai dengan lokasi sumber yang ditentukan. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
Mengembalikan enumerasi simbol untuk variabel yang sesuai dengan nilai tag yang ditentukan dalam fungsi stub Akselerator induk. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
Mengingat nilai tag yang sesuai, metode ini mengembalikan enumerasi simbol yang terkandung dalam fungsi stub Akselerator induk tertentu pada alamat virtual relatif tertentu. |
IDiaSession::findAcceleratorInlineesByName |
Mengembalikan enumerasi simbol untuk bingkai sebaris yang sesuai dengan nama fungsi sebaris yang ditentukan. |
IDiaSession::addressForVA |
Mengembalikan alamat yang setara untuk alamat virtual (VA) yang ditentukan. |
IDiaSession::addressForRVA |
Mengembalikan alamat yang setara untuk alamat virtual relatif (RVA) yang ditentukan. |
IDiaSession::findILOffsetsByAddr |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui offset MSIL dalam rentang alamat tertentu. |
IDiaSession::findILOffsetsByRVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui offset MSIL dalam rentang alamat virtual relatif (RVA) tertentu. |
IDiaSession::findILOffsetsByVA |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui offset MSIL dalam rentang alamat virtual (VA) tertentu. |
IDiaSession::findInputAssemblyFiles |
Mengambil enumerasi yang memungkinkan klien untuk melakukan iterasi melalui file rakitan input .NET Native. |
IDiaSession::findInputAssembly |
Mengambil file rakitan input .NET Native menurut indeks. |
IDiaSession::findInputAssemblyById |
Mengambil file rakitan input .NET Native oleh pengidentifikasi unik. |
IDiaSession::getFuncMDTokenMapSize |
Mengambil ukuran, dalam byte, dari peta token fungsi metadata .NET Native. |
IDiaSession::getFuncMDTokenMap |
Mengambil konten peta token fungsi metadata .NET Native. |
IDiaSession::getTypeMDTokenMapSize |
Mengambil ukuran, dalam byte, dari peta token jenis metadata .NET Native. |
IDiaSession::getTypeMDTokenMap |
Mengambil konten peta token jenis metadata .NET Native. |
IDiaSession::getNumberOfFunctionFragments_VA |
Mengambil jumlah fragmen yang tidak disarankan untuk fungsi pada alamat virtual (VA) yang ditentukan. |
IDiaSession::getNumberOfFunctionFragments_RVA |
Mengambil jumlah fragmen yang tidak disarankan untuk fungsi pada alamat virtual relatif (RVA) yang ditentukan. |
IDiaSession::getFunctionFragments_VA |
Mengambil alamat dan panjang fragmen yang tidak disinggung untuk fungsi pada alamat virtual (VA) yang ditentukan. |
IDiaSession::getFunctionFragments_RVA |
Mengambil alamat dan panjang fragmen yang tidak disinggung untuk fungsi pada alamat virtual relatif (RVA) yang ditentukan. |
IDiaSession::getExports |
Mengambil enumerator untuk semua simbol yang diekspor. |
IDiaSession::getHeapAllocationSites |
Mengambil enumerator untuk semua simbol SymTagHeapAllocationSite. |
IDiaSession::findInputAssemblyFile |
Mengambil file rakitan input .NET Native yang merupakan induk dari simbol yang ditentukan. |
Komentar
Penting untuk memanggil metode IDiaSession::put_loadAddress setelah membuat objek IDiaSession — dan nilai yang diteruskan ke metode put_loadAddress harus bukan nol - agar properti alamat virtual (VA) simbol apa pun dapat diakses. Alamat beban berasal dari program apa pun yang memuat executable yang sedang di-debug. Misalnya, Anda dapat memanggil fungsi Win32 GetModuleInformation untuk mengambil alamat beban untuk yang dapat dieksekusi, diberikan handel ke yang dapat dieksekusi.
Contoh
Contoh ini menunjukkan cara mendapatkan antarmuka IDiaSession sebagai bagian dari inisialisasi umum SDK Akses Antarmuka Debug (DIA).
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" );
}
}
Persyaratan
Header: Dia2.h
Pustaka: diaguids.lib
DLL: msdia80.dll
Lihat juga
- Antarmuka (SDK Akses Antarmuka Debug)
- Gambaran Umum
- Exe
IDiaAddressMapIDiaDataSourceIDiaDataSource::openSessionIDiaSymbol::findChildren- Mengkueri . File Pdb