Partilhar via


IDiaDataSource::loadDataForExe

Abre e prepara os dados de depuração associados ao arquivo.exe/.dll.

HRESULT loadDataForExe (
   LPCOLESTR executable,
   LPCOLESTR searchPath,
   IUnknown* pCallback
);

Parâmetros

Valor de retorno

Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro. A tabela a seguir mostra alguns dos possíveis códigos de erro para este método.

Valor

Descrição

E_PDB_NOT_FOUND

Falha ao abrir o arquivo ou o arquivo tem um formato inválido.

E_PDB_FORMAT

Você tentou acessar um arquivo com um formato obsoleto.

E_PDB_INVALID_SIG

Assinatura não corresponde.

E_PDB_INVALID_AGE

Não é compatível com a idade.

E_INVALIDARG

Parâmetro inválido.

E_UNEXPECTED

Fonte de dados já foi preparado.

Comentários

O cabeçalho de depuração do arquivo.exe/.dll nomeia o local dos dados associados de depuração.

Este método lê o cabeçalho de debug e, em seguida, procura e prepara os dados de depuração. O progresso da pesquisa pode, opcionalmente, relatado e controlado por meio de retornos de chamada. Por exemplo, o IDiaLoadCallback::NotifyDebugDir é chamado quando o IDiaDataSource::loadDataForExe método localiza e processa um diretório de depuração.

O IDiaReadExeAtOffsetCallback e IDiaReadExeAtRVACallback interfaces permite que o aplicativo cliente fornecer métodos alternativos para leitura de dados do arquivo executável quando o arquivo não pode ser acessado diretamente por meio de e/S de arquivo padrão.

Para carregar um arquivo. PDB sem validação, use o IDiaDataSource::loadDataFromPdb método.

Para validar o arquivo. PDB em relação a critérios específicos, use o IDiaDataSource::loadAndValidateDataFromPdb método.

Para carregar um arquivo. PDB diretamente da memória, use o IDiaDataSource::loadDataFromIStream método.

Exemplo

class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
    // Report error
}

Consulte também

Referência

IDiaDataSource

IDiaLoadCallback

IDiaLoadCallback2

IDiaLoadCallback::NotifyDebugDir

IDiaReadExeAtOffsetCallback

IDiaReadExeAtRVACallback

IDiaDataSource::loadDataFromPdb

IDiaDataSource::loadAndValidateDataFromPdb

IDiaDataSource::loadDataFromIStream