IDebugSymbols3::GetSymbolTypeIdWide в первый раз завершается с ошибкой с выходным сообщением отладчика, а затем завершаеC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 IDebugSymbols3::GetSymbolTypeIdWide в первый раз завершается с ошибкой с выходным сообщением отладчика, а затем завершае

Сообщение Anonymous »

Я использую IDebugSymbols3::GetSymbolTypeIdWide для получения сведений о символе из моего расширения WinDbg. Код выглядит следующим образом:

Код: Выделить всё

    HRESULT get_symbol_info(const CComPtr& pDebugSymbols)
{
ULONG64 uiMod;
ULONG uiStructTypeID;
HRESULT hr = pDebugSymbols->GetSymbolTypeIdWide(
L"wdf01000!FxObject",
&uiStructTypeID, &uiMod);

if(SUCCEEDED(hr))
{
//Proceed
}

return hr;
}
По какой-то причине, когда я просто подключаюсь к цели ядра с помощью WinDbg и запускаю ее, вызов GetSymbolTypeIdWide печатает следующее в командном окне WinDbg:

Код: Выделить всё

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Either you specified an unqualified symbol, or your debugger   ***
***    doesn't have full symbol information.  Unqualified symbol      ***
***    resolution is turned off by default. Please either specify a   ***
***    fully qualified symbol module!symbolname, or enable resolution ***
***    of unqualified symbols by typing ".symopt- 100". Note that     ***
***    enabling unqualified symbol resolution with network symbol     ***
***    server shares in the symbol path may cause the debugger to     ***
***    appear to hang for long periods of time when an incorrect      ***
***    symbol name is typed or the network symbol server is down.     ***
***                                                                   ***
***    For some commands to work properly, your symbol path           ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: wdf01000!FxObject                             ***
***                                                                   ***
*************************************************************************
и GetSymbolTypeIdWide завершается с ошибкой E_FAIL.
Затем, если я повторно запущу тот же код, он завершается успешно без каких-либо сообщений в командном окне.
Два вопроса:
  • Как мне остановить это выводить что-либо в командное окно?
  • Что я делаю не так, что при первом запуске происходит сбой, а при последующих запусках — успешно?
  • Что я делаю не так?
  • Что я делаю неправильно? p>


Подробнее здесь: https://stackoverflow.com/questions/787 ... ger-output
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»