доброго времени вам сутков господа негодяи !! Короче fasm не может генерить отладочную инфу и ничего с ним не поделаеш пробовал компилить в COFF потом Unilink ом собирать с отладочной инфой но там сохраняются естесно тока названия експортных функций и все! маловато будет ! без структур и без названий меток да переменных помнить адреса короче это не отладка так мона отлаживать токо небольшими участками кода может ктото знает другой проект похожий на фасм по ергономике либо знает модификации простого фасма чоб отладочную инфу генерить моно было или может ктото знает как отлаживать без отладочной информации ефективно ? вобщем настоятельно умоляю поделится опытом в этом вопросе я думая не токо у меня эта проблема стоит скольконибудь остро. спасибо!!
спасибо за невысказанные сообщения на www.flatassembler.net на английском посоветовали следующее 1. в сурсе использовать INT 3 отладочное прерывание 2. использовать строковые вставки тоже чтоб искать места в тексте комментарии например или метки можно в виде строки прямо в коде с обходом джампом этой строки 3. использовать MessageBox
Вместо 2 и 3 лучше использовать ntdll!DbgPrint. По поводу сабжа: тема периодически поднимается: 1, 2. Коротко: дело в том, что в винде используется для отладочной информации pdb, который явзяется закрытым форматом. Я не знаю, поддерживается ли CV, хранящийся в самом бинарике, без вынесения в dbg/pdb. В фасме же есть возможность генерации листинга и дампа символов, что достаточно для генерации, наверное, любого отладочного формата. Дело лишь в реализации. Ну, и в фасме версии 2.0 или раньше обещают встроенную поддержку DWARF.
IceStudent DebugView их чето не ловит даже с включенным Capture Win32. Зато прекрасно ловит OutputDebugStringA. Чудеса)) Механизмы там правда разные (хотя суть вроде одна - исключение выкидывается, кажется), но странно что он первое не поддерживает..
Great Да, как-то не обратил внимания без отладчика. Так а как он сможет поддерживать, если DbgPrint передаётся как отладочное исключение. Только если будет выступать в качестве отладчика проги.
я бряк либо на начало .text ставлю, либо на определенную ф-ю, либо на последовательность опкодов. а int3h не пользовался совсем.
А как ты ставишь бряк на функцию? Каким образом известен адрес функции? Например, я отлаживаю EXE, где пара тысяч функций, и если я загружаю его в OllyDbg, то там нет имён функций - надо знать адрес (или INT3). Может есть какие plug-ins для OllyDbg?