Главная Регистрация FAQ Пользователи Покупка MITSUBISHI Сообщения за день

Вернуться   OUT-CLUB.RU > Технический раздел > Outlander XL > Outlander XL 2007 - 2012 г.в. - Электроника, мультимедиа, навигация

Важная информация


Outlander XL 2007 - 2012 г.в. - Электроника, мультимедиа, навигация Элекрооборудование, мультимедиа, навигация и проч.

 
 
Опции темы Опции просмотра
Старый 10.06.2011, 11:30   #11
Bedolaga
Бывалый
 
Имя: Алексей
Авто: Pajero Sport 2010 3.0
Сообщений: 29
По умолчанию Re: Исследование механизма работы ПО MMCS

Цитата:
Сообщение от heavy Посмотреть сообщение
Интересно на чем отлаживают код разработчики, имхо не на живой голове, а на железке типа "ренесанса" или софтовом эмуляторе
ПО MMCS писалось на языке высокого уровня, причем объектно ориентированном (как верный признак, в теле программ щедро накидано операторов "delete" и "new", используемых в ООП для создания и уничтожения экземпляров классов).

У этого факта есть 2 стороны:

1) плюс: много полезной информации компилятор оставляет в теле исполняемого модуля. Там есть потрясающие строки вида " А вот сейчас мы запретим показ DVD в движении". Причем строки хранятся недалеко от кода, как это и положено при компиляции объектов Именно поэтому относительно легко удается грохнуть этот запрет с DVD, особенно не парясь с трассировкой кода.

2) минус: крайне затруднено восстановление программной логики, поскольку очень много вызовов процедур не по прямым адресам, а косвенно через относительные смещения к неивестным из мертвого листинга адресам (которые видимо являются ссылками на объекты исходного текста ООП). И мертвый код анализировать становится трудно. Это плата за удобство концепции ООП для разработчика.

На интелсовместимых платформах, я даже спустя 15 лет перерыва могу по ассемблерному коду легко вернуть все в С. Легко понять вызовы процедур и какие параметры при этом передаются. На SH-4 у меня таких навыков нет, поэтому это все время. Если кто обладает знаниями по стандартной структуре ассемблерного кода SH-4, в который компилируются высокоуровневые вызовы процедур и функций хоть на CPP хоть на C#, буду признателен за краткую информацию.

Что касается отладки: свой небольшой отладчик в MMCS загружен, можно пытаться его слегка переписать, чтобы он выводил на экран устройства или в файл нужную информацию. Но что бы его переписать и отладить нужно большое количество циклов: модификация кода --> модификация loading.kwi --> запись на HDD --> запуск на устройстве ---> анализ результата --> модификация кода --> ... и далее по циклу.

Все прозаично но муторно и долго. А альтернативой является интуитивное и несистематическое тыканье в разные места кода на удачу и проверка что получилось. Тоже вариант, но менее предсказуемый.
Bedolaga вне форума   Вверх Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Outlander. Моторчик механизма стеклоподъемника Rikoshet Outlander - Эксплуатация и ремонт 25 31.01.2020 15:47
Поломка механизма поднятия запаски Dozr Outlander XL - Запчасти и ремонт 33 02.08.2017 15:23
Избавлю от площадки заднего дискового тормозного механизма T - 34 Outlander. Агрегаты и иже с ними 0 22.04.2011 15:41
сижу без работы!!! САНЯ В.-58 Работа (поиск и предложения) 0 08.02.2011 18:22

Текущее время: 23:54. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
Использование материалов сайта разрешается только при условии размещения активной ссылки на OUT-CLUB.RU
Copyright ©2006 - 2025, WWW.OUT-CLUB.RU