Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Abre e prepara os dados de depuração associados ao .exe/.dll arquivo.
Sintaxe
HRESULT loadDataForExe (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback
);
Parâmetros
executável
[em] Caminho para o .exe arquivo ou .dll .
searchPath
[em] Caminhos alternativos para pesquisar dados de depuração. Vários caminhos devem ser delimitados por ponto-e-vírgula. Os caminhos podem conter um \.
pCallback
[in] Uma interface IUnknown para um objeto que dá suporte a uma interface de retorno de chamada de depuração, como IDiaLoadCallback, IDiaLoadCallback2, IDiaReadExeAtOffsetCallback e/ou as interfaces IDiaReadExeAtRVACallback.
Valor Retornado
Se tiver êxito, retornará S_OK. Caso contrário, retornará um código de erro. A tabela a seguir mostra alguns dos códigos de erro possíveis para esse 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 |
Ocorreu uma tentativa de acessar um arquivo com um formato obsoleto. |
E_PDB_INVALID_SIG |
A assinatura não corresponde. |
E_PDB_INVALID_AGE |
A idade não corresponde. |
E_INVALIDARG |
Parâmetro inválido. |
E_UNEXPECTED |
A fonte de dados já foi preparada. |
Comentários
O cabeçalho de depuração do arquivo nomeia o .exe/.dll local de dados de depuração associado.
Se você estiver carregando dados de depuração de um servidor de símbolos, symsrv.dll deverá estar presente no mesmo diretório em que o aplicativo ou msdia140.dll do usuário está instalado ou deverá estar presente no diretório do sistema.
Esse método lê o cabeçalho de depuração e, em seguida, pesquisa e prepara os dados de depuração. O progresso da pesquisa pode, opcionalmente, ser relatado e controlado por meio de retornos de chamada. Por exemplo, o IDiaLoadCallback::NotifyDebugDir é invocado quando o método localiza e processa IDiaDataSource::loadDataForExe um diretório de depuração.
As IDiaReadExeAtOffsetCallback interfaces and IDiaReadExeAtRVACallback permitem que o aplicativo cliente forneça métodos alternativos para ler 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 .pdb arquivo com pré-busca de registros de símbolo, use o IDiaDataSourceEx::loadDataForExeEx método.
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.
Para validar um arquivo .pdb sem carregá-lo, use o IDiaDataSourceEx::ValidatePdb 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
}
Confira também
IDiaDataSourceIDiaLoadCallbackIDiaLoadCallback2IDiaLoadCallback::NotifyDebugDirIDiaReadExeAtOffsetCallbackIDiaReadExeAtRVACallbackIDiaDataSourceEx::loadDataForExeExIDiaDataSource::loadDataFromPdbIDiaDataSource::loadAndValidateDataFromPdbIDiaDataSource::loadDataFromIStreamIDiaDataSourceEx::ValidatePdb