инструмент для чтения журналов glassfish?

Хотя об этом трудно рассуждать, помните, что загрузка mov al, byte es:[0xfff0] не считывает из первой инструкции BIOS, даже если es установлен на 0xf000.

Первая инструкция считывается из 0xfffffff0, при сбросе PCH, вероятно, будет также псевдонимом 0xf0000-0xfffff - 0xffff0000-0xffffffff, поэтому при загрузке BSP он выполнит код, который вы сбросили.
[ 1117] IIRC, AP не загружаются, если явно не проснуться.

Затем BSP продолжит инициализацию HW (исходя из дампа).
В какой-то момент он установит карту атрибутов для 0xf0000-0xfffff для управления чтением и записью (или просто записью, а затем чтением) в память.
Конечным результатом является то, что когда процессор (поток HW) загружается, он будет выполнять код с флэш-памяти до тех пор, пока не выполнит дальний переход.
В этот момент база cs правильно вычисляется в соответствии с правилами реального режима (почти как в нереальном режиме), и инструкция будет извлечена из 0xf0000-0xfffff (то есть из ОЗУ).
Все это в то время как значение сегмента cs фактически не изменилось.

BSP в какой-то момент начнет свою процедуру инициализации мультипроцессора, где он транслирует каждому (включая его самого) INIT-SIPI-SIPI, который приведет к сну для AP и ljmp 0xf000:0xfff0 для BSP.
] [+1122] Хитрость в том, что цель перехода, 0xf000:0xfff0, не совпадает с адресом шины инструкции wbinvd.
Там может быть что-то еще, возможно, другая процедура инициализации.

В конце инициализации BIOS может просто сбросить атрибуты 0xf0000-0xfffff для сброса на флэш-память (поэтому возможен программный сброс), предотвращая (не преднамеренно) сброс промежуточного кода.

Это не очень эффективно, но BIOS обычно не являются шедеврами кода.

У меня недостаточно элементов, чтобы быть уверенным в том, что происходит, я хочу сказать, что ljmp 0xf000:0xfff0 и mov al, byte es:[0xfff0] не должны читать из того же региона, в котором они находятся. [+1136] [1 124] [1 124] С учетом этого все ставки отменены.
Только правильный обратный инжиниринг скажет.

Что касается wbinvd, я предположил в комментарии, что это может быть связано со средством «горячей» загрузки, а Питер Кордес предположил, что это может быть конкретно связано с кэшем как ОЗУ.
Это имеет смысл, я думаю, никогда не будет уверен, хотя.
Это также может быть случай культа груза, когда программист посчитал, что инструкция необходима на основе слухов. [+1135]

6
задан Ace 26 September 2008 в 14:01
поделиться

5 ответов

В Windows I все еще пошел бы жемчуг или awk. Загрузите и установите cygwin, затем используйте awk или независимо от того, что Вы знакомы с. awk были нужны функции времени для фильтрации и функций такой как getline для навигации файла журнала.

Исключая: Исключение occurency количество - все время

$ awk '/^java.*:\W/ {print $1}' server.log* |sort|uniq -c|sort -nr
 60 javax.ejb.EJBException:
 45 java.rmi.ServerException:
  2 javax.persistence.PersistenceException:
  2 javax.ejb.ObjectNotFoundException:
  1 java.lang.Error:
2
ответ дан 17 December 2019 в 04:54
поделиться

попробуйте (заплаченный) UltraEdit или Блокнот ++ (свободный)

1
ответ дан 17 December 2019 в 04:54
поделиться

Я использую Excel для парсинга файлов журнала. При использовании разграниченных вкладкой файлов журнала, это может работать отлично. Фильтрация и сортировка функций Excel предоставляют себя хорошо анализу файла журнала.

0
ответ дан 17 December 2019 в 04:54
поделиться

Попробуйте инструмент MS LogParser: http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

В основном превращает Ваш плоский файл журнала в "базу данных", на которой можно работать подобный SQL-з¦прос¦м. Можно даже произвести в сетках, диаграммах и графиках.

1
ответ дан 17 December 2019 в 04:54
поделиться
Другие вопросы по тегам:

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