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 loadDataFromMiscInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD timeStampExe,
DWORD timeStampDbg,
DWORD sizeOfExe,
DWORD cbMiscInfo,
BYTE* pbMiscInfo,
IUnknown* pCallback
);
Paraméterek
executable
[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 \.
timeStampExe
[in] Másodlagos időbélyeg a végrehajtható lemezképhez.
timeStampDbg
[in] Alternatív időbélyeg a hibakeresési információkhoz.
sizeOfExe
[in] A végrehajtható rendszerkép másik mérete bájtban.
cbMiscInfo
[in] Méret bájtban a paraméterben pbMiscInfo .
pbMiscInfo
[in] Alternatív hibakeresési IMAGE_DEBUG_MISC fejléc formátumban, amely megadja a fájlnevet a hibakeresési adatokkal.
pCallback
[in] Egy IUnknown olyan objektum felülete, amely támogatja a hibakeresési visszahívási felületet, például a 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 |
Egy elavult 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 pbMiscInfo lecseréli a végrehajtható lemezkép hibakeresési információit, és elnevezi a kapcsolódó hibakeresési adathelyet. Az időbélyegek és a méret a hibakeresési adatoknak való megfeleltetésére szolgál.
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 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
DWORD dwTimeStamp = 0x3BF1C039;
DWORD dwSizeImage = 0x0000A000;
BYTE pbMiscInfo[0x110] = {
...
};
HRESULT hr = pSource->loadDataFromMiscInfo( L"myprog.exe", L".\debug", dwTimeStamp, dwTimeStamp, dwSizeOfImage, sizeof(pbMiscInfo), pbMiscInfo, nullptr);
if (FAILED(hr))
{
// Report error
}