Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2008, 21:58   #1
Minimus
Пользователь
 
Аватар для Minimus
 
Регистрация: 03.08.2008
Сообщений: 43
Вопрос Как можно отлаживать в masm32?

Доброго всем дня(вечера,ночи,утра - по обстоятельствам).
Скачал я на днях с wasm.ru masm32 от Hutch'а (решил присоединиться к дZенствующим). Все вроде бы отлично - куча примеров, туториалы, редактор - удобный и симпатичный. Короче говоря все мне нравиться.
Да вот отладка получается какой - то муторной:компилю с -Zi, линкую c /DEBUG, загружаю в OllyDebugger - и тут то начинается всякая чертовщина - то вместо кода показывает данные, то вместо данных - код, то бряки срабатывают через раз, а то вообще виснет на самом интересном месте.
Может я что-то делаю неправильно?
А как это делаете вы? Буду очень благодарен, если поделитесь опытом.
бороться и искать
найти и перепрятать.
Minimus вне форума Ответить с цитированием
Старый 11.08.2008, 23:35   #2
mikityak
Заблокирован
 
Регистрация: 07.06.2008
Сообщений: 15
По умолчанию

Make.bat
Код:
@echo off

if exist "DialogMain.exe" del "DialogMain.exe"
if not exist rsrc.rc goto over1

echo /////////////////////////////////////////////////////////////////////////////
\masm32\bin\rc /v rsrc.rc
if errorlevel 1 goto errrc

echo /////////////////////////////////////////////////////////////////////////////
\masm32\bin\cvtres /machine:ix86 rsrc.res
if errorlevel 1 goto errcvt

:over1

echo /////////////////////////////////////////////////////////////////////////////
\masm32\bin\ml /c /coff "DialogMain.asm"
if errorlevel 1 goto errasm

if not exist rsrc.obj goto nores
echo /////////////////////////////////////////////////////////////////////////////
\masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF "DialogMain.obj" rsrc.obj
if errorlevel 1 goto errlink

goto TheEnd

:nores
echo /////////////////////////////////////////////////////////////////////////////
\masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF "DialogMain.obj"
if errorlevel 1 goto errlink

goto TheEnd

:errrc
echo -----------------------------------------------------------------------------
echo Error Resource Compiler
pause
goto TheEnd

:errcvt
echo -----------------------------------------------------------------------------
echo Error Resource To Object Converter
pause
goto TheEnd

:errlink
echo -----------------------------------------------------------------------------
echo Error Incremental Linker
pause
goto TheEnd

:errasm
echo -----------------------------------------------------------------------------
echo Error Macro Assembler
pause
goto TheEnd

:TheEnd
if exist "rsrc.aps" del "rsrc.aps"
if exist "rsrc.obj" del "rsrc.obj"
if exist "rsrc.res" del "rsrc.res"
if exist "DialogMain.obj"   del "DialogMain.obj"
заменить все DialogMain на то што тебе нада !!! (я правлю в блокноте ...

Последний раз редактировалось mikityak; 11.08.2008 в 23:41.
mikityak вне форума Ответить с цитированием
Старый 12.08.2008, 00:49   #3
Minimus
Пользователь
 
Аватар для Minimus
 
Регистрация: 03.08.2008
Сообщений: 43
По умолчанию

Батник... Для компиляции... Редактор от Hutch'а имеет пункты меню, создающие нужные батники для компиляции. А я их немного редактирую - по мере необходимости.
Да и дело не в компиляции. Весь гемор у меня получается именно при попытках отладить уже откомпиленный код.
бороться и искать
найти и перепрятать.
Minimus вне форума Ответить с цитированием
Старый 12.08.2008, 01:46   #4
mikityak
Заблокирован
 
Регистрация: 07.06.2008
Сообщений: 15
По умолчанию

пакажи ! (уже откомпиленный код)
mikityak вне форума Ответить с цитированием
Старый 12.08.2008, 02:59   #5
Minimus
Пользователь
 
Аватар для Minimus
 
Регистрация: 03.08.2008
Сообщений: 43
Вопрос

В архиве содержится
1. скриншот OllyDebugger.
2. TrayIcon.asm из 23 туториала Икзелиона.
3. Батник с помощью которого я скомпилил.

На скриншоте видно, что отладочная информация загрузилась - отображаются имена констант и локальных переменных. Вроде бы все нормально. Несколько раз жму F8 - и все. Приехали. Olly висит. Остается только убить процесс диспетчером задач.
А вот без отладочной информации все нормально. Но без нее как-то тоскливо.
И вот что странно: некоторые примеры отлаживаются нормально!
Может кто нибудь знает, в чем причина?

ЗЫ: А под словами "откомпилированный код" я имел ввиду тот asm-код, который я вижу на экране отладчика.
Вложения
Тип файла: rar TUTE23.rar (160.7 Кб, 41 просмотров)
бороться и искать
найти и перепрятать.

Последний раз редактировалось Minimus; 12.08.2008 в 04:05.
Minimus вне форума Ответить с цитированием
Старый 12.08.2008, 04:13   #6
Minimus
Пользователь
 
Аватар для Minimus
 
Регистрация: 03.08.2008
Сообщений: 43
По умолчанию

А может быть какая-то несовместимость в форматах отладочной информации? Если да, то как это устранить?
бороться и искать
найти и перепрятать.
Minimus вне форума Ответить с цитированием
Старый 12.08.2008, 08:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я для МАСМа использую MASMBuilder он на МАСМ9 компилить путево, чего напишу в нем то и в Оле увижу )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.08.2008, 09:04   #8
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

скомпилил ваш пример, открыл в оле все нормально. компилил masm32 v9
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 12.08.2008, 10:46   #9
mikityak
Заблокирован
 
Регистрация: 07.06.2008
Сообщений: 15
По умолчанию

А вот без отладочной информации все нормально. Но без нее как-то тоскливо. чоза бред.. и так всье нормально без нее.. мож лазить..
чото себе как придумают ети начинающие ! короче не используем откладку.. и так норма.. в Ольке сматреть..
mikityak вне форума Ответить с цитированием
Старый 12.08.2008, 10:54   #10
Minimus
Пользователь
 
Аватар для Minimus
 
Регистрация: 03.08.2008
Сообщений: 43
Радость

Ура!!! Заработало!!!
Всем большое спасибо за помощь.

ЗЫ: Я сутки просидел за компом, пытаясь понять что я делаю не правильно, скачивал несколько раз заново Masm и Olly, а оказалось - Винда виновата.
Перезагружаюсь с диска D:\ - все работает - и Olly не виснет и все бряки срабатывают. Перегружаюсь с C:\ - и все начинается.
А вроде бы обе Винды с одного дистрибутива ставил, да и программы и там и там практически одинаковые стоят.

Ч-у-д-е-с-а!

ЗЫ2: to mikityak: отладка без отладочной информации? Ну можно и компилировать без компилятора - берешь мануалы от интел - и вперед.
Просто чтобы ты мог почувствовать удобства отладки с debug info возьми батник из прикрепленного к этому сообщению архива и с его помощью откомпиль TrayIcon.asm (из предыдущего прикрепленного архива), загрузи exe в Olly, кликни в меню View - Source Files, в открывшемся окне сделай двойной клик на строке, содержащей имя файла TrayIcon.asm - и ты увидишь текст исходников.
Ну а дальше можешь устанавливать точки останова по F2 прямо в исходниках. Удобно - отладка на уровне исходников - практически как в IDE Delphi.
Вложения
Тип файла: rar BuildIt.rar (389 байт, 28 просмотров)
бороться и искать
найти и перепрятать.

Последний раз редактировалось Minimus; 12.08.2008 в 14:52.
Minimus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
masm32 v9. не линкует программу Alcash Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 23.06.2008 09:57
Random на MASM32 Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 02.05.2008 16:00
DirectX на masm32 Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 10.03.2008 23:05
обновление в блоге - MASM32 и DELPHI - битва за размер… Pblog Обсуждение статей 0 19.09.2007 14:40