Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Открывает и подготавливает данные отладки, связанные с файлом .exe/.dll .
Синтаксис
HRESULT loadDataFromCodeViewInfo (
LPCOLESTR executable,
LPCOLESTR searchPath,
DWORD cbCvInfo,
BYTE* pbCvInfo,
IUnknown* pCallback
);
Параметры
исполняемый файл
[in] Путь к файлу или .exe файлу.dll.
searchPath
[in] Альтернативные пути для поиска отладочных данных. Несколько путей должны быть разделены точкой с запятой. Пути могут содержать конечный путь \.
cbCvInfo
[in] Размер параметра в байтах pbCvInfo .
pbCvInfo
[in] Альтернативные сведения о представлении кода заголовка отладки (чтобы заменить обычный считываемый из IMAGE_DEBUG_DIRECTORY исполняемого файла). Поддерживаются только заголовки RSDS или NB10.
pCallback
[in] Интерфейс IUnknown для объекта, поддерживающего интерфейс обратного вызова отладки, например IDiaLoadCallbackIDiaLoadCallback2, , IDiaReadExeAtOffsetCallbackи /или интерфейсы IDiaReadExeAtRVACallback.
Возвращаемое значение
В случае успешного выполнения возвращается S_OK; в противном случае возвращает код ошибки. В следующей таблице показаны некоторые возможные коды ошибок для этого метода.
| Ценность | Описание |
|---|---|
E_PDB_NOT_FOUND |
Не удалось открыть файл или файл имеет недопустимый формат. |
E_PDB_FORMAT |
Попытка получить доступ к файлу с неподдерживаемым форматом. |
E_PDB_INVALID_SIG |
Подпись не соответствует. |
E_PDB_INVALID_AGE |
Возраст не соответствует. |
E_INVALIDARG |
Недопустимый параметр. |
E_UNEXPECTED |
Источник данных уже подготовлен. |
Замечания
Сведения о представлении кода в IMAGE_DEBUG_TYPE_CODEVIEW формате называют связанное расположение данных отладки, а также предоставляют поля знака и возраст для сопоставления.
Если данные отладки загружаются с сервера символов, symsrv.dll должны присутствовать в том же каталоге, где установлено приложение пользователя или msdia140.dll , или он должен присутствовать в системном каталоге.
Этот метод считывает предоставленный заголовок отладки, а затем ищет и подготавливает данные отладки. Ход выполнения поиска может сообщаться и контролироваться с помощью обратных вызовов. Например, вызывается, IDiaLoadCallback::NotifyDebugDir когда IDiaDataSource::loadDataForExe метод находит и обрабатывает каталог отладки.
IDiaReadExeAtOffsetCallback Интерфейсы IDiaReadExeAtRVACallback позволяют клиентскому приложению предоставлять альтернативные методы чтения данных из исполняемого файла, если доступ к файлу невозможен напрямую через стандартный ввод-вывод файла.
Чтобы загрузить .pdb файл без проверки, используйте IDiaDataSource::loadDataFromPdb этот метод.
Чтобы проверить PDB-файл с определенными критериями, используйте IDiaDataSource::loadAndValidateDataFromPdb этот метод.
Чтобы загрузить PDB-файл непосредственно из памяти, используйте IDiaDataSource::loadDataFromIStream этот метод.
Чтобы проверить PDB-файл без загрузки, используйте метод IDiaDataSourceEx::ValidatePdb .
Пример
BYTE pbCodeViewInfo[] = {
...
};
HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr);
if (FAILED(hr))
{
// Report error
}