Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Öffnet die Programmdatenbankdatei (.pdb), und überprüft, ob sie mit den angegebenen Signaturinformationen übereinstimmt, und bereitet die PDB-Datei dann als Debugdatenquelle vor.
Syntax
HRESULT loadAndValidateDataFromPdb (
LPCOLESTR pdbPath,
GUID* pcsig70,
DWORD sig,
DWORD age
);
Parameter
pdbPath
[in] Der Pfad zur PDB-Datei.
pcsig70
[in] Die GUID-Signatur (Globally Unique Identifier), die anhand der PDB-Dateisignatur überprüft werden soll. Nur PDB-Dateien in Visual C++ und höher verfügen über GUID-Signaturen.
sig
[in] Die 32-Bit-Signatur, die anhand der PDB-Dateisignatur überprüft werden soll.
age
[in] Der Alterswert, der überprüft werden soll. Das Alter entspricht nicht unbedingt einem bekannten Zeitwert, es wird verwendet, um zu bestimmen, ob eine PDB-Datei nicht mit einer entsprechenden .exe Datei synchronisiert ist.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben. In der folgenden Tabelle werden die möglichen Rückgabewerte für diese Methode angezeigt.
| Wert | Beschreibung |
|---|---|
E_PDB_NOT_FOUND |
Fehler beim Öffnen der Datei, oder die Datei weist ein ungültiges Format auf. |
E_PDB_FORMAT |
Es wurde versucht, auf eine Datei mit einem veralteten Format zuzugreifen. |
E_PDB_INVALID_SIG |
Die Signatur stimmt nicht überein. |
E_PDB_INVALID_AGE |
Das Alter stimmt nicht überein. |
E_INVALIDARG |
Ungültiger -Parameter. |
E_UNEXPECTED |
Die Datenquelle wurde bereits aufbereitet. |
Bemerkungen
Eine PDB-Datei enthält sowohl Signatur- als auch Alterswerte. Diese Werte werden in der EXE- oder DLL-Datei repliziert, die der PDB-Datei entspricht. Bevor Sie die Datenquelle vorbereiten, überprüft diese Methode, ob die Signatur und das Alter der benannten PDB-Datei mit den angegebenen Werten übereinstimmen.
Verwenden Sie die IDiaDataSourceEx::loadAndValidateDataFromPdbEx Methode, um eine PDB-Datei zu laden und mit Vorabrufen zu überprüfen.
Verwenden Sie die IDiaDataSource::loadDataFromPdb Methode, um eine PDB-Datei ohne Überprüfung zu laden.
Verwenden Sie die IDiaDataSource::loadDataForExe Methode, um Zugriff auf den Datenladevorgang (über einen Rückrufmechanismus) zu erhalten.
Verwenden Sie die Methode, um eine PDB-Datei direkt aus dem IDiaDataSource::loadDataFromIStream Arbeitsspeicher zu laden.
Verwenden Sie die Methode, um eine PDB-Datei zu überprüfen, ohne sie IDiaDataSourceEx::ValidatePdb zu laden.
Beispiel
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
}