Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Apre e prepara i dati di debug associati al .exe/.dll file.
Sintassi
HRESULT loadDataForExe (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback
);
Parametri
file eseguibile
[in] Percorso del .exe file o .dll .
searchPath
[in] Percorsi alternativi per la ricerca dei dati di debug. I percorsi multipli devono essere delimitati da punti e virgola. I percorsi possono contenere un oggetto finale \.
pCallback
[in] Interfaccia IUnknown per un oggetto che supporta un'interfaccia di callback di debug, ad esempio IDiaLoadCallback, IDiaLoadCallback2, IDiaReadExeAtOffsetCallback e/o le interfacce IDiaReadExeAtRVACallback.
Valore restituito
Se ha esito positivo, restituisce S_OK; in caso contrario, restituisce un codice di errore. La tabella seguente illustra alcuni dei possibili codici di errore per questo metodo.
| valore | Descrizione |
|---|---|
E_PDB_NOT_FOUND |
Impossibile aprire il file oppure il file ha un formato non valido. |
E_PDB_FORMAT |
Tentativo di accesso a un file con un formato obsoleto. |
E_PDB_INVALID_SIG |
La firma non corrisponde. |
E_PDB_INVALID_AGE |
L'età non corrisponde. |
E_INVALIDARG |
Parametro non valido. |
E_UNEXPECTED |
L'origine dati è già stata preparata. |
Osservazioni:
L'intestazione .exe/.dll di debug dei nomi di file il percorso dei dati di debug associato.
Se si caricano dati di debug da un server di simboli, symsrv.dll deve essere presente nella stessa directory in cui è installata l'applicazione dell'utente o msdia140.dll oppure deve essere presente nella directory di sistema.
Questo metodo legge l'intestazione di debug e quindi cerca e prepara i dati di debug. Lo stato di avanzamento della ricerca può, facoltativamente, essere segnalato e controllato tramite callback. Ad esempio, IDiaLoadCallback::NotifyDebugDir viene richiamato quando il IDiaDataSource::loadDataForExe metodo trova ed elabora una directory di debug.
Le IDiaReadExeAtOffsetCallback interfacce e IDiaReadExeAtRVACallback consentono all'applicazione client di fornire metodi alternativi per la lettura dei dati dal file eseguibile quando non è possibile accedere direttamente al file tramite I/O di file standard.
Per caricare un .pdb file con il prelettura dei record di simboli, usare il IDiaDataSourceEx::loadDataForExeEx metodo .
Per caricare un file con estensione pdb senza convalida, usare il IDiaDataSource::loadDataFromPdb metodo .
Per convalidare il file con estensione pdb in base a criteri specifici, usare il IDiaDataSource::loadAndValidateDataFromPdb metodo .
Per caricare un file con estensione pdb direttamente dalla memoria, usare il IDiaDataSource::loadDataFromIStream metodo .
Per convalidare un file con estensione pdb senza caricarlo, usare il IDiaDataSourceEx::ValidatePdb metodo .
Esempio
class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
// Report error
}
Vedi anche
IDiaDataSourceIDiaLoadCallbackIDiaLoadCallback2IDiaLoadCallback::NotifyDebugDirIDiaReadExeAtOffsetCallbackIDiaReadExeAtRVACallbackIDiaDataSourceEx::loadDataForExeExIDiaDataSource::loadDataFromPdbIDiaDataSource::loadAndValidateDataFromPdbIDiaDataSource::loadDataFromIStreamIDiaDataSourceEx::ValidatePdb