windbg+usb+vmware - возможно ли?

Тема в разделе "WASM.NT.KERNEL", создана пользователем IceStudent, 3 дек 2007.

  1. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Сабж. Распространённая связка — это через сом-порт. Недавно появился vmkd, обещающий ускорение коммуникации отлаживаемой системы с отладчиком, но только для vmware-сервера и пока бета.

    Но ведь отлаживать можо и по usb, а это всяко быстрее СОМ. Можно ли как-то настроить? Или нужен драйвер, эмулирующий usb-шнурок с целевой системой?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    а разве сама винда поддерживает дебаг не по ком-порту?
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    n0name
    поддерживает отладку по USB начиная с висты. по иеее1394 можно вроде тоже но хз насчет этого
    а для усб вообше девайс нужен аппаратный, чреез который компы надо соединять, так что это всяко отпадает.

    я хочу намутить отладку по Ethernet - будет прикольно если получится... сижу курю щас интерфейс kdXXX.dll в иде
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Хм..
    То бишь, отлаживать по usb ядро можно только в висте, а всё остальное - с xp. Жаль.
     
  5. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    если я правильно понял, тебя интересует отладка под вмварью - там компорт эмулируется через пайп, и можно поставить большую скорость - тормозов не будет заметно.
     
  6. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Начиная с версии 6.0 RC2 в VM Ware появился механизм Record/Replay, позволяющий осуществлять удаленную ядерную отладку даже для тех операционных систем, которые поставляются без интегрированного отладчика: Linux, xBSD с выключенным отладчиком, NT, etc.
    Просто добавляем в vmx-файл (описывающий конфигурацию виртуальной машины) строку "debugStub.listen.guest32=1" (или "debugStub.listen.guest64=1" для 64-разрядных платформ), после чего в vmware.log файле появляется следующая запись "VMware Workstation is listening for debug connection on port 8832", означающая, что виртуальная машина слушает 8832-порт с которым готова общаться по gdb-протоколу. Остается запустить сам gdb, приконнектится к порту и приступить к отладке безо всяких танцев с бубном.
    Отладчик gdb может быть запущен как на хосте (основной операционной системе), так и на соседней виртуальной машине.
    Подробнее на эту тему можно почитать: http://stackframe.blogspot.com/ и http://blogs.vmware.com/sherrod/2007/04/index.html, а триальную версию VMWare скачать — http://www.vmware.com/download/ws

    ========================
    Эмулятор QEMU так же позволяет отлаживать ядра без интегрированных отладчиков, но, в отличии от VM Ware, он бесплатен и распространяется вместе с исходными тестами, которые находятся на http://fabrice.bellard.free.fr/qemu/
    Пример командной строки, реализующий форсированную отладку, приведен ниже:

    # запускам QEMU с ядром, которое мы собираемся отлаживать
    $ qemu -kernel /boot/bzImg -append "root=/dev/hda" -std-vga -m 256m -s -hda hdd.img &

    # запускам gdb на основной машине и коннектимся на порт 1234
    $ gdb (gdb) target remote localhost:1234

    # подключаем образ ядра (должен совпадать с отлаживаемым ядром)
    (gdb) file vmlinux

    (пример для линуха, но смысл думаю понятен. NT поддерживается тоже. и 9x :)
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    kaspersky
    Да, я читал об этом. Проблема в том, что оно для gdb, который не все знают :) Разве что возможно написать адаптер протоколов gdb-windbg..