none
Вопрос про WinDbg и Висту RRS feed

  • Общие обсуждения

  • Товарищи
    Имеется приложение собраное в релизе (MFC, VS 2005, запускаем под Вистой). При обычном запуске все оки — запускается и работает нормально.
    Если же сделать так:
    — вызвать Windbg -I чтобы он стал отладчиком по умолчанию
    — запустить мс-овский Appverifier и приатачить к нему аппликуху
    — запустить аппликуху
    то приложение не запускается и выпадает ошибка следующего содержания


    (e68.e08): Break instruction exception — code 80000003 (!!! second chance !!!)
    eax=000001ff ebx=7164aff0 ecx=774c14cd edx=00000000 esi=00000000 edi=000001ff
    eip=774e2ea9 esp=0012d054 ebp=0012d254 iopl=0 nv up ei pl nz na po nc
    cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
    *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\system32\ntdll.dll —
    ntdll!DbgBreakPoint+0x1:
    774e2ea9 c3 ret
    *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\system32\kernel32.dll —
    *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6000.16386_none_5d07289e07e1d100\COMCTL32.dll —
    *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\system32\USER32.dll —
    *** ERROR: Module load completed but symbols could not be loaded for C:\Windows\WinSxS\x86_microsoft.vc80.debugmfc_1fc8b3b9a1e18e3b_8.0.50727.42_none_f455012451df8b23\MFC80D.DLL

    Call stack показывает, что вызов начинается от MFC80D+0x7aab2... и т.п . до вот этого самого ntdll!DbgBreakPoint+0x1.
    По тексту там видно, что в CallWindowProc произошел какой-то Access Violation.
    Вопрос: в чем проблема? Почему под дебагером вываливаются ошибки, а при обычном запуске все пучком?
    Заранее спасибо.
    26 марта 2007 г. 14:36

Все ответы

  • Про причину такого поведения я ничего сказать не могу, т.к. до сих пор стоит RC2 и я не могу воспроизвести данные действия. Но у меня есть несколько предположений

    1. Вы используете устаревшую версию дебагера. Зайдите вот сюда или сюда

    2. Проблема с установкой прав, т.к. я подозреваю, что такая комбинация возможна только с правами учётной записи "Администртор"

    3. Что либо из перечисленного установленно некоректно.

    4. Если работаете с 64-битной версией, то возможна блокировка со стороны PatchGuard.

    26 марта 2007 г. 21:53
  • Добрый день. Спасибо за ответ.

    теперь оп пунктам

    1 - проверил, версия та же , что и на сайте (стоит х86) .

    2 - работаю под записью "Administrator". Если можно, подскажи плиз где там можно глянуть на права его.

    3 - не совсем понял, что имеется в виду

    4 - нет, у меня 32-битная. А что такое PatchGuard?

    27 марта 2007 г. 9:21
  • Так же по пунктам.

    2. Зависит от конкретного объекта(правая кнопка мыши "Свойства"/"Безопастность"). Очень часто получается так, что программа корорая требует

    доступ к каким-либо системным файлам не может корректно запускаться из-под обычной учётной записи. Приходится использовать

    "запуск от имени". Пример FlashGet.

    3. Криво стоит либо дебагер, либо приложенние(апликуха), либо Appverifier, либо MFC, VS 2005. Кстатии я надеюсь вы используете совместимый

    с Виста пакет VS 2005. Если нет то вот ссылка

    4. PatchGuard это система зашиты 64-битного ядра. Она не позволяет таким приложения как например антивирусы "достучаться" до ядра ОС.

    Если бы у вас стояла  64-битная версия, то запуск данной комбинации мог расцениваться PatchGuard  как атака.

    27 марта 2007 г. 9:57
  • 2 - насколько я понимаю, если я сижу под Администратором, то у меня софт от егоимени и запускается

    3 - вопрос "кривости" установки - тут конечно сложно че-то проверить. А насчет пакета - !!!!!!!!!!! Мегасенкс за подсказку! Вот щас сел качать!

    4 - спасибо, с этим понятно. Но у меня 32 бита, так что наверное ко мне неприменимо

     

    Оки, щас выкачаю пакет, поставлю и посмотрю как там оно будет. По результатам отпишу (если интересно конечно)

     

    27 марта 2007 г. 12:12
  • И где продолжение?!
    2 апреля 2007 г. 7:11