IDiaDataSource::loadDataForExe
Otevře a připraví ladicí data přidružená k .exe
/.dll
souboru.
Syntaxe
HRESULT loadDataForExe (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback
);
Parametry
spustitelný
[v] Cesta k .exe
souboru nebo .dll
souboru
searchPath
[v] Alternativní cesty k hledání dat ladění Více cest by mělo být oddělené středníkem. Cesty můžou obsahovat koncovou \
cestu .
pCallback
[v] Rozhraní IUnknown
pro objekt, který podporuje ladění zpětné volání rozhraní, jako je IDiaLoadCallback, IDiaLoadCallback2, IDiaReadExeAtOffsetCallback a/nebo IDiaReadExeAtRVACallback rozhraní.
Návratová hodnota
V případě úspěchu vrátí hodnotu S_OK
; v opačném případě vrátí kód chyby. Následující tabulka uvádí některé možné kódy chyb pro tuto metodu.
Hodnota | Popis |
---|---|
E_PDB_NOT_FOUND |
Soubor se nepodařilo otevřít nebo soubor má neplatný formát. |
E_PDB_FORMAT |
Pokusil se o přístup k souboru s zastaralým formátem. |
E_PDB_INVALID_SIG |
Podpis se neshoduje. |
E_PDB_INVALID_AGE |
Věk se neshoduje. |
E_INVALIDARG |
Neplatný parametr. |
E_UNEXPECTED |
Zdroj dat je již připravený. |
Poznámky
Hlavička .exe
/.dll
ladění souboru pojmenuje přidružené umístění dat ladění.
Pokud načítáte ladicí data ze serveru symbolů, symsrv.dll musí být ve stejném adresáři, ve kterém je nainstalovaná aplikace uživatele nebo msdia140.dll, nebo musí být v systémovém adresáři.
Tato metoda přečte hlavičku ladění a pak vyhledá a připraví ladicí data. Průběh hledání může být volitelně hlášen a řízen zpětnými voláními. Například je IDiaLoadCallback::NotifyDebugDir
vyvolána, když IDiaDataSource::loadDataForExe
metoda najde a zpracuje ladicí adresář.
Rozhraní IDiaReadExeAtOffsetCallback
a IDiaReadExeAtRVACallback
rozhraní umožňují klientské aplikaci poskytovat alternativní metody pro čtení dat ze spustitelného souboru, pokud k souboru nelze získat přístup přímo prostřednictvím standardních vstupně-výstupních operací souboru.
Pokud chcete načíst .pdb
soubor s předem načtenými záznamy symbolů, použijte metodu IDiaDataSourceEx::loadDataForExeEx
.
K načtení souboru .pdb bez ověření použijte metodu IDiaDataSource::loadDataFromPdb
.
K ověření souboru .pdb na základě konkrétních kritérií použijte metodu IDiaDataSource::loadAndValidateDataFromPdb
.
K načtení souboru .pdb přímo z paměti použijte metodu IDiaDataSource::loadDataFromIStream
.
K ověření souboru .pdb bez načtení použijte metodu IDiaDataSourceEx::ValidatePdb
.
Příklad
class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
// Report error
}
Viz také
IDiaDataSource
IDiaLoadCallback
IDiaLoadCallback2
IDiaLoadCallback::NotifyDebugDir
IDiaReadExeAtOffsetCallback
IDiaReadExeAtRVACallback
IDiaDataSourceEx::loadDataForExeEx
IDiaDataSource::loadDataFromPdb
IDiaDataSource::loadAndValidateDataFromPdb
IDiaDataSource::loadDataFromIStream
IDiaDataSourceEx::ValidatePdb