Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Öppnar och förbereder de felsökningsdata som är associerade med .exe/.dll filen.
Syntax
HRESULT loadDataFromMiscInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD timeStampExe,
DWORD timeStampDbg,
DWORD sizeOfExe,
DWORD cbMiscInfo,
BYTE* pbMiscInfo,
IUnknown* pCallback
);
Parameterar
executable
[i] Sökväg till .exe filen eller .dll .
searchPath
[i] Alternativa sökvägar för att söka efter felsökningsdata. Flera sökvägar ska vara semikolonavgränsade. Sökvägar kan innehålla en avslutande \.
timeStampExe
[i] Alternativ tidsstämpel för den körbara avbildningen.
timeStampDbg
[i] Alternativ tidsstämpel för felsökningsinformationen.
sizeOfExe
[i] Alternativ storlek på den körbara avbildningen i byte.
cbMiscInfo
[i] Storlek i byte för parametern pbMiscInfo .
pbMiscInfo
[i] Alternativt felsökningshuvud i IMAGE_DEBUG_MISC format som tillhandahåller filnamnet med felsökningsinformationen.
pCallback
[i] Ett IUnknown gränssnitt för ett objekt som stöder ett felsökningsgränssnitt för motringning, till exempel gränssnitten IDiaLoadCallback, , IDiaLoadCallback2IDiaReadExeAtOffsetCallback, och/eller IDiaReadExeAtRVACallback .
Returvärde
Om det lyckas returnerar S_OK; annars returneras en felkod. I följande tabell visas några av de möjliga felkoderna för den här metoden.
| Värde | Beskrivning |
|---|---|
E_PDB_NOT_FOUND |
Det gick inte att öppna filen eller så har filen ett ogiltigt format. |
E_PDB_FORMAT |
Försökte komma åt en fil med ett föråldrat format. |
E_PDB_INVALID_SIG |
Signaturen matchar inte. |
E_PDB_INVALID_AGE |
Ålder matchar inte. |
E_INVALIDARG |
Ogiltig parameter. |
E_UNEXPECTED |
Datakällan har redan förberetts. |
Anmärkningar
pbMiscInfo ersätter felsökningsinformationen i den körbara avbildningen och namnger den associerade platsen för felsökningsdata. Tidsstämplar och storlek används för att matcha felsökningsinformationen.
Om du läser in felsökningsdata från en symbolserver måste symsrv.dll finnas i samma katalog där användarens program eller msdia140.dll är installerat, eller så måste det finnas i systemkatalogen.
Den här metoden söker efter och förbereder felsökningsdata. Förloppet för sökningen kan eventuellt rapporteras och kontrolleras via återanrop. Till exempel IDiaLoadCallback::NotifyDebugDir anropas när IDiaDataSource::loadDataForExe metoden hittar och bearbetar en felsökningskatalog.
Med IDiaReadExeAtOffsetCallback gränssnitten och IDiaReadExeAtRVACallback kan klientprogrammet tillhandahålla alternativa metoder för att läsa data från den körbara filen när filen inte kan nås direkt via standardfil-I/O.
Om du vill läsa in en .pdb-fil utan validering använder du IDiaDataSource::loadDataFromPdb metoden .
Använd metoden för att verifiera .pdb-filen mot specifika kriterier IDiaDataSource::loadAndValidateDataFromPdb .
Om du vill läsa in en .pdb-fil direkt från minnet använder du IDiaDataSource::loadDataFromIStream metoden .
Om du vill verifiera en .pdb-fil utan att läsa in den använder du metoden IDiaDataSourceEx::ValidatePdb .
Exempel
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
}