Консультация № 188850
25.02.2016, 19:53
0.00 руб.
0 3 1
Прошу помощи, уважаемые эксперты.

Посоветуйте пожалуйста отладчик, где можно видеть 32-bit регистры.

Для пробы написал такой код:
Код:
CSEG segment use16
assume cs:CSEG, ss:CSEG, ds:CSEG, es:CSEG
org 100h

.386

Begin:

mov eax, 256
mov ebx, eax
add ebx, 255

int 20h

CSEG ends
end Begin


Скомпилировал в MASM 6.11 (ml p.asm /AT).

В CV из MASM 6.15 регистры отображаются.

В книге Калашникова в главе 24 упомянут Turbo Assembler. Скачал и установил TASM 5.

Попробовал этот файл открыть в TDW.exe (Turbo Debugger for Windows). Пишет "Not a Windows program".

TD32.exe (TD for Win32) вообще глючит и не работает.

TD.exe (for DOS) при открытии пишет "Program has no symbol table". И регистры отображаются толь 16-bit.

И все TD предлагают почему то при открытии маску "*.exe".

Установил SoftIce 4.27 но разобраться с ним пока не смог.

В Инете такое обилие разных сред, и отладчиков разных версий, что голова идет кругом. Хочется еще что-то кроме CV. Мне очень понравился AFDpro, но он не поддерживает 32-bit.

Обсуждение

давно
Посетитель
399551
10
25.02.2016, 19:56
общий
Опечатка вышла: компилировал в MASM 6.15
давно
Посетитель
7438
7205
25.02.2016, 21:53
общий
это ответ
Здравствуйте, YwaN!
Давайте по-порядку:
TDW.exe годится только для программ под Windows. У них совершенно другой принцип работы.
TD32.exe был разработан для промежуточной Win32. Сейчас совершенно неактуально.
Впрочем, TDW лично я тоже не пользуюсь. Если надо, загружаю в отладчик от С.
Для программ под ДОС годится только TD.exe. Несколько слов об этом отладчике:
1) "Program has no symbol table" означает, что программа не содержит информации отладчика.
Что это такое? Это когда в программе в специальном месте сохраняется информация о таблице символов, адресах в исходном тексте и т.п. При загрузке такой программы становится возможным отлаживать программу по исходному тексту.
Тут надо сделать еще пару замечаний:
а) отладочная информация возможно только в формате EXE, т.к. только в таком формате можно добавить секцию отладчика
б) TD по отладочной информации совместим только с TASM и TLINK. После MASM-а с информацией отладчика TD не возьмет! У них разный формат! Без информации отладчика без проблем...
в) чтобы файл получился с информацией отладчика, необходимо откомпилировать TASM с параметром /ZI и слинковать TLINK с параметром /v
Полный список параметров можно увидеть, запустив с ключом /?
г) чтобы увидеть исходный текст, необходимо в TD загрузить модуль (файл с исходным текстом)

2) Чтобы отображались 32-битные регистры, необходимо в окне регистров (справа вверху) нажать правой кнопкой мыши и в появившемся меню включить 32-битные регистры.

3) Действитеьно, в TD по-умолчанию маска "*.exe". Во-первых, ничто не мешает ее поменять. Во-вторых, можно загружать TD с параметром-именем программы

4)Не думаю, что SoftIce сейчас Вам нужен. Программа достаточно сложная. Оставьте ее для следующего своего шага. TD Вам сейчас за глаза хватит

5) Насчет AFD я с Вами полностью согласен! Отличный отладчик, я с ним начинал давным-давно осваивать первые ХТ с частотой 4.77 МГц Но, увы, он был сделан под 16-битный 86 процессор и дальше не развивался.
5
Отличный ответ :)
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
399551
10
27.02.2016, 02:10
общий
Здравствуйте. Что-то меня долго не было.

Спасибо, очень помогло
Форма ответа