Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Megnyitja és előkészíti a fájlhoz társított hibakeresési .exe/.dll adatokat.
Szemantika
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Paraméterek
végrehajtható
[in] .exe A fájl elérési .dll útja.
searchPath
[in] Alternatív elérési utak a hibakeresési adatok kereséséhez. Több elérési utat kell pontosvesszőkkel tagolni. Az elérési utak záró elemet tartalmazhatnak \.
cbCvInfo
[in] A paraméter mérete bájtban pbCvInfo .
pbCvInfo
[in] A hibakeresési fejléckód nézetének információi (a végrehajtható IMAGE_DEBUG_DIRECTORY normál olvasási helyére). Csak RSDS- vagy NB10-fejlécek támogatottak.
pCallback
[in] Egy IUnknown olyan objektum felülete, amely támogatja a hibakeresési visszahívási felületet, például az IDiaLoadCallback, IDiaLoadCallback2a , a IDiaReadExeAtOffsetCallback, és/vagy az "IDiaReadExeAtRVACallback interfészeket".
Visszaadott érték
Ha sikeres, S_OK; ellenkező esetben egy hibakódot ad vissza. Az alábbi táblázat a metódus lehetséges hibakódjait mutatja be.
| Érték | Leírás |
|---|---|
E_PDB_NOT_FOUND |
Nem sikerült megnyitni a fájlt, vagy a fájl formátuma érvénytelen. |
E_PDB_FORMAT |
Nem támogatott formátumú fájlhoz próbált hozzáférni. |
E_PDB_INVALID_SIG |
Az aláírás nem egyezik. |
E_PDB_INVALID_AGE |
Az életkor nem egyezik. |
E_INVALIDARG |
Érvénytelen paraméter. |
E_UNEXPECTED |
Az adatforrás már elkészült. |
Megjegyzések
A kódnézet információi IMAGE_DEBUG_TYPE_CODEVIEW formátumban elnevezik a kapcsolódó hibakeresési adathelyet, valamint megadja azoknak az előjel- és kormezőknek a megadását, amelyekhez igazodni kell.
Ha hibakeresési adatokat tölt be egy szimbólumkiszolgálóról, symsrv.dll ugyanabban a könyvtárban kell lennie, amelyben a felhasználó alkalmazása vagy msdia140.dll telepítve van, vagy a rendszerkönyvtárban kell lennie.
Ez a metódus beolvassa a megadott hibakeresési fejlécet, majd megkeresi és előkészíti a hibakeresési adatokat. A keresés előrehaladását igény szerint a visszahívások is jelenthetik és szabályozhatják. Ez például akkor lesz meghívva, IDiaLoadCallback::NotifyDebugDir ha a IDiaDataSource::loadDataForExe metódus megkeres és feldolgoz egy hibakeresési könyvtárat.
A IDiaReadExeAtOffsetCallback felületek lehetővé IDiaReadExeAtRVACallback teszik az ügyfélalkalmazás számára, hogy alternatív módszereket biztosítson a végrehajtható fájlból származó adatok beolvasásához, ha a fájl nem érhető el közvetlenül standard fájl I/O-n keresztül.
Ha érvényesítés nélkül szeretne betölteni egy .pdb fájlt, használja a metódust IDiaDataSource::loadDataFromPdb .
A .pdb fájl adott feltételek szerinti érvényesítéséhez használja a metódust IDiaDataSource::loadAndValidateDataFromPdb .
Ha egy .pdb fájlt közvetlenül a memóriából szeretne betölteni, használja a metódust IDiaDataSource::loadDataFromIStream .
Ha betöltés nélkül szeretne ellenőrizni egy .pdb fájlt, használja az IDiaDataSourceEx::ValidatePdb metódust .
példa
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}