169 похожих чатов

@Picokun че ты сюда зашёл? Вроде ж ты не пишешь

на асме

28 ответов

6 просмотров

А я тут пытаюсь древнее оборудование из местного университета починить (или хотя бы понять причину проблемы), приходится сидеть и дебажить DOS-приложение. Как раз хотел узнать, какой инструментарий для этого лучше всего использовать. Я вчера обплевался, пока пользовался debug-версией DOSBox'а, он работает поразительно плохо. Сейчас перекатился на Turbo Debugger в том же DOSBox'е, но есть у меня подозрение, что есть варианты и получше. То есть я сейчас сижу в IDA 5.0 Freeware и изучаю/размечаю инструкции, а в TD собственно дебажу. Но вангую, что есть какой-то более современный подход, о котором я не знаю.

disba1ancer
смотря что тебе надо

Знал бы я, что мне надо. У меня есть проприетарный бинарник под DOS, мне хочется видеть, как он исполняется: ставить брейкпоинты (на чтение/изменение памяти, на исполнение кода), видеть стек в удобочитаемом виде, etc. Сейчас для меня это выглядит так:

асоциальный пикотранзистор ᶘಠᴥಠᶅ
А я тут пытаюсь древнее оборудование из местного у...

А что случилось то? Приложение работало-работало и вдруг перестало? Или вышел из строя старый-старый компьютер, а на более новом приложение не запускается?

Alexander Morozov
А что случилось то? Приложение работало-работало и...

у него двоякий вопрос и не совсем понятно что ему надо. с одной стороны он хочет "поченить древнее оборудование". а с другой он дебажит какой то код, который не связан никак с "древним оборудованием"

Alexander Morozov
А что случилось то? Приложение работало-работало и...

Есть компьютер пользователя с прикладным ПО, который запускается на Windows 98. Компьютер пользователя подключен по RS-232 к специализированному индустриальному компьютеру на x86 с ISA-картами, которые в свою очередь подключены к магическому научному оборудованию (см. https://www.horiba.com/fileadmin/uploads/Scientific/Downloads/UserArea/Fluorescence/Legacy/Complete_FluoroLog3_Manual.pdf). Этот индустриальный компьютер внутри себя не имеет никаких энергонезависимых хранителей, система грузится исключительно с дискеты. На дискете выдранный из Windows 98 MS-DOS, в котором запускается одна-единственная программа, которая рулит всем оборудованием через ISA и получает команды по RS-232. Сейчас, когда прикладное ПО пытается по RS-232 отправить команду «специализированному» проинициализировать оборудование, «специализированный» отвечает ему с ошибкой (код 11). Ошибка эта в мануале по научному оборудованию не отражается, поэтому я пытаюсь понять, в каком конкретно случае эта ошибка №11 возвращается по коду программы, запускаемой в MS-DOS на «специализированном» компьютере. Оборудование само по себе списано из другой лаборатории, от него остался только один письменный мануал и сам набор железа с кабелями. В каком оно состоянии — хз, почему оно не работает — хз. Вот пытаюсь разобраться.

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Есть компьютер пользователя с прикладным ПО, котор...

А промышленный компьютер имеет органы управления (монитор, клавиатура)?

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Есть компьютер пользователя с прикладным ПО, котор...

Начнём с простого. система когда-нибудь работала на том месте где она сейчас находится? Когда она перестала работать? Что произошло или что изменилось примерно в то же самое время когда она перестала работать? Как выглядит загрузка индустриального компьютера? Всё ли в порядке или Ошибки уже появляются там?

Пользователь 61a23
расследование

В таких ситуациях только так. А то потом окажется что комп из розетки уборщица вырвала😂

Alexander Morozov
А промышленный компьютер имеет органы управления (...

Да. Это обычный PC времён 2001 года, просто грузится с дискеты. Софт на клавиатуру никак не реагирует, а так картинку по VGA на мониторчик показывает, в текстовом режиме буковки пишет от софта. Там ещё настройки BIOS'а слетели (батарейка была впаяна внутрь, пришлось по инструкциям в интернетах подпаивать новую снаружи), и я думаю, что это повлияло. Учитывая, что я избалованный мальчик без опыта установки всех интерраптов вручную, я не совсем представляю, что там могло пойти совсем не так, но думаю, что могло. Собственно, для этого я и пытаюсь разузнать, почему управляющая программа выдаёт ошибку (при попытке что именно сделать).

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Да. Это обычный PC времён 2001 года, просто грузит...

Могу предложить поставить следующие два (в одном) эксперимента. 1) Образ дискеты попытаться запустить на виртуальной машине. 2) Захватить трафик хитрой программы через RS232. Виртуализация в этом может помочь.

Agent
Начнём с простого. система когда-нибудь работала н...

Нет, на месте, где вся система сейчас, — оно никогда не работало. Судя по мануалу по сборке у нас вроде как всё собрано верно и правильно, но человек, который пользовался когда-то этим устройством говорил, что был какой-то второй управляющий компьютер (возможно бэкапный), который пропал во время переезда лаборатории. Одна из возможных причин, как я писал выше, — сброшенный BIOS на промышленном компьютере. Либо что-то там в железках совсем сломалось механическо-электрическое, и тогда маловероятно, что я когда-нибудь это починю. Загрузка выглядит как загрузка обычного ПК, там есть доступ в Setup, бутменю, etc.

Alexander Morozov
Могу предложить поставить следующие два (в одном) ...

Уже всё сделано, я почему по-вашему прошу подсказать необходимые утилиты? :) Я уже загружаюсь с образа дискеты, уже запускаю в виртуалке, уже засниффал трафик ("трафик"), уже соединил виртуальным ком-портом программу с putty, уже заставил в виртуалке пытаться инциализировать оборудование по ком-порту отправив ему управляющую команду…

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Да. Это обычный PC времён 2001 года, просто грузит...

Вот идея с биосм очень хороша. Если в мануале про порты ничего нет то попробуйте методом тыка ставить диапазон портов и их номера . Еще вариант на идустриальном компе прервать загрузку по ctrl-c или F8, выйти в командную строку и сделать copy autoexec.bat con Возмржно параметры запуска спец программы чтото подскажут

Agent
Начнём с простого. система когда-нибудь работала н...

Вот, по поводу взаимодействия индустриального ПК с оборудованием: там у самого оборудования есть какие-то мозги, которые уже управляют сервоприводами, щелями и прочими умными штуками. И вот когда я отправляю сам ручками команду по COM-порту «инициализируйся», то что-то таки начинает происходить (калиброваться): там внутри крутятся штуки, пытаются что-то сделать, но такое чувство, что взаимодействие происходит одностороннее и индустриальный комп какую-то информацию не получает и соответственно фейлится при инициализации с некой ошибкой, смысл которой я и хочу понять, изучив сам .exe-шник.

Agent
Вот идея с биосм очень хороша. Если в мануале про ...

@echo off path a:\ prompt $p$g rem lh mwloadi /com2 /irq3 :re_run spectraq goto re_run А в мануале настройки биоса нет, к сожалению, это да.

асоциальный пикотранзистор ᶘಠᴥಠᶅ
@echo off path a:\ prompt $p$g rem lh mwloadi /com...

Че за rem? Почему закоменчено? Что будет если откоментитьб?

асоциальный пикотранзистор ᶘಠᴥಠᶅ
@echo off path a:\ prompt $p$g rem lh mwloadi /com...

Что в биосе с настройкой? Есть ли com2 и висит ли он на irq3?

Agent
Че за rem? Почему закоменчено? Что будет если отко...

Загрузит в верхнюю память (upper memory) вроде

асоциальный пикотранзистор ᶘಠᴥಠᶅ
Не-а, COM2 даже физически нет

На плате полюбе должен быть физически, просто не выведен на внешнюю часть корпуса.

асоциальный пикотранзистор ᶘಠᴥಠᶅ
@echo off path a:\ prompt $p$g rem lh mwloadi /com...

Рекомендую проверить железо старой-доброй программой: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=617

асоциальный пикотранзистор ᶘಠᴥಠᶅ
@echo off path a:\ prompt $p$g rem lh mwloadi /com...

так там еще каккой то spectraq в бесконечном цикле крутится автоекзек дальше не пойдет ведь? или это типа вечный перезапуск этой программы

Похожие вопросы

Обсуждают сегодня

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
7
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Добрый день. Абракадабра в 12-й студии ввела новый тип поля БД TSQLTimeStampOffset, использую в постгресе timestampz и вот с 12-й версии начались чудеса! До этого поля times...
Delphi Photo
9
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
6
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
14
Карта сайта