Сейчас на форуме: Rio, johnniewalker, vsv1 (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› [IDA 5.5] не полный trace log
Посл.ответ Сообщение

Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 мая 2011 20:58 · Поправил: uinor
· Личное сообщение · #1

Доброго времени суток.

Пытаюсь сгенерировать trace log на достаточно большом участке кода, выставил trace buffer в 0 (без лимита), пробовал и большие числа. Не вижу и половины кода, который должен был туда попасть (ручками я его прохожу каждый раз). Игрался опциями, переключатель записи точно включен, софт без протекции. Просто схожу с ума.

На всякий случай порядок моих действий:
1. Ставлю два бряка (безусловных) на достаточно "большом расстоянии". Этот путь ручками я уже проходил, он неизменный, никакие факторы в самом приложении не влияют.
2. Запускаю (local win32 debugger), брякаюсь на первом, включаю Instruction Trace
3. Дизейблю бряк, отпускаю приложение дальше
4. Брякается на втором, глушу приложение - смотрю трейс лог и файл - минимальная информация (1-2% от должного)

Работает при этом крайне быстро, как будто trace выключен. Помогите.

На всякий случай прилагаю скрин настроек (хотя там все просто):


Версия IDA: 5.5.0.925t

Подскажите, в чем может быть проблема? Может быть есть иной хороший trace tool (чтоб адекватный, максимально детализированный лог был).

Переустановка IDA не помогла, пересоздавал БД - без разницы. Лишних плагинов не стоит. Сборка проверенная народом.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 мая 2011 23:05
· Личное сообщение · #2

Ну сними трассу олькой. Лучше второй.

| Сообщение посчитали полезным: uinor

Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 мая 2011 23:10 · Поправил: uinor
· Личное сообщение · #3

Обе Ольги валятся на этом приложении со странными ошибками (по памяти не помню, сейчас гляну), trace в первой тупо виснит. Сейчас вторую гляну, конечно. Спасибо.

Может ли на результаты трейса то, что на определенном этапе стартует GUI (прогрессбар) и в трейс в диком количестве начинают влетать обработчики сообщений? Можно ли фильтровать как то этот процесс? + обработка ведется в нескольких потоках.

Upd: Вторая ольга вроде заработала, но трейс встает раком на SendMessage.
См. картинку





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 22 мая 2011 09:47
· Личное сообщение · #4

Видимо, потому что SendMessage синхронный. И не вернёт управление, пока сообщение не обработает оконная процедура. И трассировка предназначена для одного потока только. Сразу несколько одновременно трассить не выйдет. Так что, видимо, придётся установить более чёткие границы, а не трассить всё подряд.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 22 мая 2011 10:01
· Личное сообщение · #5

Или трассировать скриптом, по step over синхронные вызовы нормально проходятся.

-----
Yann Tiersen best and do not fuck




Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 22 мая 2011 14:09
· Личное сообщение · #6

Понял, спасибо.

@PE_Kill, подскажите, каким скриптом? Не имел опыта написания под ольгу, может быть есть готовые решения? Мне нужен Step In по желаемому блоку без захода в system dlls, но с игнором всяческой лабуды, типа SendMessage & etc. Вероятно, придется что-то под себя оформить? Направьте на путь истинный.


 eXeL@B —› Крэки, обсуждения —› [IDA 5.5] не полный trace log
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати