FASM и отладка

Тема в разделе "WASM.ASSEMBLER", создана пользователем human45, 12 янв 2008.

  1. human45

    human45 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2006
    Сообщения:
    18
    доброго времени вам сутков господа негодяи !!
    Короче fasm не может генерить отладочную инфу и ничего с ним не поделаеш пробовал компилить в COFF потом Unilink ом собирать с отладочной инфой но там сохраняются естесно тока названия експортных функций и все! маловато будет !
    без структур и без названий меток да переменных помнить адреса короче это не отладка так мона отлаживать токо небольшими участками кода может ктото знает другой проект похожий на фасм по ергономике либо знает модификации простого фасма чоб отладочную инфу генерить моно было или может ктото знает как отлаживать без отладочной информации ефективно ?
    вобщем настоятельно умоляю поделится опытом в этом вопросе я думая не токо у меня эта проблема стоит скольконибудь остро.
    спасибо!!
     
  2. human45

    human45 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2006
    Сообщения:
    18
    спасибо за невысказанные сообщения на www.flatassembler.net на английском посоветовали следующее
    1. в сурсе использовать INT 3 отладочное прерывание
    2. использовать строковые вставки тоже чтоб искать места в тексте комментарии например или метки можно в виде строки прямо в коде с обходом джампом этой строки
    3. использовать MessageBox
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Вместо 2 и 3 лучше использовать ntdll!DbgPrint.

    По поводу сабжа: тема периодически поднимается: 1, 2. Коротко: дело в том, что в винде используется для отладочной информации pdb, который явзяется закрытым форматом. Я не знаю, поддерживается ли CV, хранящийся в самом бинарике, без вынесения в dbg/pdb. В фасме же есть возможность генерации листинга и дампа символов, что достаточно для генерации, наверное, любого отладочного формата. Дело лишь в реализации.

    Ну, и в фасме версии 2.0 или раньше обещают встроенную поддержку DWARF.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    IceStudent
    DebugView их чето не ловит даже с включенным Capture Win32. Зато прекрасно ловит OutputDebugStringA.
    Чудеса)) Механизмы там правда разные (хотя суть вроде одна - исключение выкидывается, кажется), но странно что он первое не поддерживает..
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Great
    Да, как-то не обратил внимания без отладчика.

    Так а как он сможет поддерживать, если DbgPrint передаётся как отладочное исключение. Только если будет выступать в качестве отладчика проги.
     
  6. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Я пользуюсь INT3 (без пробела). FASM быстро собирает код, так что нет проблем.
     
  7. bPED

    bPED New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2008
    Сообщения:
    52
    я бряк либо на начало .text ставлю, либо на определенную ф-ю, либо на последовательность опкодов.
    а int3h не пользовался совсем.
     
  8. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    А как ты ставишь бряк на функцию? Каким образом известен адрес функции? Например, я отлаживаю EXE, где пара тысяч функций, и если я загружаю его в OllyDbg, то там нет имён функций - надо знать адрес (или INT3). Может есть какие plug-ins для OllyDbg?