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.
Membuka dan memverifikasi bahwa file database program (.pdb) cocok dengan informasi tanda tangan yang disediakan, dan menyiapkan file .pdb sebagai sumber data debug.
Sintaks
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
Parameter
pdbPath
[masuk] Jalur ke file .pdb.
pcsig70
[di] Tanda tangan pengidentifikasi unik global (GUID) untuk memverifikasi terhadap tanda tangan file .pdb. Hanya file .pdb di Visual C++ dan yang lebih baru memiliki tanda tangan GUID.
sig
[di] Tanda tangan 32-bit untuk memverifikasi terhadap tanda tangan file .pdb.
age
[di] Nilai usia untuk diverifikasi. Usia tidak selalu sesuai dengan nilai waktu yang diketahui, itu digunakan untuk menentukan apakah file .pdb tidak sinkron dengan file .exe yang sesuai.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat. Tabel berikut memperlihatkan kemungkinan nilai pengembalian untuk metode ini.
| Nilai | Deskripsi |
|---|---|
E_PDB_NOT_FOUND |
Gagal membuka file, atau file memiliki format yang tidak valid. |
E_PDB_FORMAT |
Mencoba mengakses file dengan format tidak terpakai. |
E_PDB_INVALID_SIG |
Tanda tangan tidak cocok. |
E_PDB_INVALID_AGE |
Usia tidak cocok. |
E_INVALIDARG |
Parameter tidak valid. |
E_UNEXPECTED |
Sumber data telah disiapkan. |
Keterangan
File .pdb berisi nilai tanda tangan dan usia. Nilai-nilai ini direplikasi dalam file .exe atau .dll yang cocok dengan file .pdb. Sebelum menyiapkan sumber data, metode ini memverifikasi bahwa tanda tangan dan usia file .pdb bernama cocok dengan nilai yang disediakan.
Untuk memuat file .pdb dan memvalidasi dengan prefetching, gunakan IDiaDataSourceEx::loadAndValidateDataFromPdbEx metode .
Untuk memuat file .pdb tanpa validasi, gunakan metode .IDiaDataSource::loadDataFromPdb
Untuk mendapatkan akses ke proses beban data (melalui mekanisme panggilan balik), gunakan metode .IDiaDataSource::loadDataForExe
Untuk memuat file .pdb langsung dari memori, gunakan metode .IDiaDataSource::loadDataFromIStream
Untuk memvalidasi file .pdb tanpa memuatnya, gunakan IDiaDataSourceEx::ValidatePdb metode .
Contoh
IDiaDataSource* pSource; // Previously created data source.
DEFINE_GUID(expectedGUIDSignature,0x1234,0x5678,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08);
DWORD expectedFileSignature = 0x12345678;
DWORD expectedAge = 128;
HRESULT hr;
hr = pSource->loadAndValidateDataFromPdb( L"yprog.pdb",
&expectedGUIDSignature,
expectedFileSignature,
expectedAge);
if (FAILED(hr))
{
// Report an error
}