FASM и отладка

Discussion in 'WASM.ASSEMBLER' started by human45, Jan 12, 2008.

  1. human45

    human45 New Member

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

    human45 New Member

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

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    Вместо 2 и 3 лучше использовать ntdll!DbgPrint.

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

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

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    IceStudent
    DebugView их чето не ловит даже с включенным Capture Win32. Зато прекрасно ловит OutputDebugStringA.
    Чудеса)) Механизмы там правда разные (хотя суть вроде одна - исключение выкидывается, кажется), но странно что он первое не поддерживает..
     
  5. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    Great
    Да, как-то не обратил внимания без отладчика.

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

    AsmGuru62 Member

    Blog Posts:
    0
    Joined:
    Sep 12, 2002
    Messages:
    689
    Location:
    Toronto
    Я пользуюсь INT3 (без пробела). FASM быстро собирает код, так что нет проблем.
     
  7. bPED

    bPED New Member

    Blog Posts:
    0
    Joined:
    Jan 19, 2008
    Messages:
    52
    я бряк либо на начало .text ставлю, либо на определенную ф-ю, либо на последовательность опкодов.
    а int3h не пользовался совсем.
     
  8. AsmGuru62

    AsmGuru62 Member

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