Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Öppnar och förbereder de felsökningsdata som är associerade med .exe/.dll filen.
Syntax
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Parameterar
genomförbar
[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 \.
cbCvInfo
[i] Storleken i byte för parametern pbCvInfo .
pbCvInfo
[i] Den alternativa informationen om sidhuvudkod för felsökning (för att ersätta vad som är normal läsning från den körbara filens IMAGE_DEBUG_DIRECTORY). Endast RSDS- eller NB10-huvuden stöds.
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, IDiaLoadCallback2, IDiaReadExeAtOffsetCallback, 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 format som inte stöds. |
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
Kodvisningsinformationen namnger i IMAGE_DEBUG_TYPE_CODEVIEW format den associerade platsen för felsökningsdata samt anger de tecken- och åldersfält som ska matchas mot.
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 läser det angivna felsökningshuvudet och söker sedan 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
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}