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

 eXeL@B —› Основной форум —› Отладка многопроцесного приложения (не срабатывает точка останова)
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 апреля 2005 13:50 · Поправил: SGN
· Личное сообщение · #1

Уважаемые, не могли бы Вы подсказать, какие есть особенности при отладке приложений, состоящий из нескольких, процессов (потоков).

PS
У меня проблема: не могу поставить breakpoint...
Точнее, при загрузке приложения, на событии "загрузка DLL" отладчик останавливается, после чего я устанавливаю точку останова, но она не срабатывает +(

Что можете посоветовать? [ Харакири, просьба, не предлагать +) ]

Дополнение
Есть ли возможность в отладчике OllyDbg (WinDbg, SoftICE) в самом начале отладки загрузить ВСЕ библиотеки, используемые в приложении?



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 15 апреля 2005 19:58
· Личное сообщение · #2

SGN пишет:
приложений, состоящий из нескольких, процессов (потоков)

Процессы и потоки - разные вещи

SGN пишет:
Есть ли возможность в отладчике OllyDbg (WinDbg, SoftICE) в самом начале отладки загрузить ВСЕ библиотеки, используемые в приложении?

В Olly - Options / Debugging options / Events. Убери там все галки "Break on..." и установи "Entry point of main module". Олька остановится после загрузки всех модулей на точке входа главного из них. Если я правильно понял, о чем ты.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 апреля 2005 20:49 · Поправил: SGN
· Личное сообщение · #3

Постараюсь описать свою ситуацию более подробно:

Существует приложение, написанное с применением технологии COM,
и состоящее из большого количества модулей (это и DLL и EXE).
Замечу сразу же, чтобы не было возражений в стиле: "процессы и потоки это разные вещи", что в этом приложении EXE`ки требуются, в основном, в качестве сурогатных процессов, а потоки для функционирования механизма асинхронных вызовов.

Так вот, при загрузке этого приложения в OllyDbg и выходе в режим отладки, загружаются НЕ все библиотеки...(а очень хотелось чтобы все...) Мне необходимо оттрассировать часть методов интерфейсов, так или иначе, вызываемые из разных потоков (естественно, что их реализации находятся в DLL`ях и последние подгружаются по мере необходимости).

Опытным путём я определил, что одна из библиотек грузится по адресу 24426С4. Всё было бы хорошо, но, во-первых, адрес загрузки меняется..., во-вторых, из-за вызова методов разными потоками, я просто не успеваю поставить BP по нужному адресу (здесь я возможно что-то недопонимаю..... так как только начал работать с OllyDbg....)

Отчасти верно установить BP у меня получилось, поставив в Options->Debugging Options флажки: "Break on new module" и "Break on new thread" и выбрав "WinMain(...)".

Всё же, как загрузить ВСЕ модули непосредственно перед началом трассировки.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 15 апреля 2005 21:10
· Личное сообщение · #4

SGN пишет:
Всё же, как загрузить ВСЕ модули непосредственно перед началом трассировки.

Вручную в код загрузчик всех DLL дописать.



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

Создано: 08 февраля 2006 22:02
· Личное сообщение · #5

SGN
Что за софт?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 08 февраля 2006 22:20
· Личное сообщение · #6

Federal
Откуда ты его выкопал-то? Топику скора год исполнится.



Ранг: 41.9 (посетитель)
Активность: 0.020
Статус: Участник
Author of EXECryptor

Создано: 09 февраля 2006 10:44
· Личное сообщение · #7

пора ветку краклаб.тормоз заводить


 eXeL@B —› Основной форум —› Отладка многопроцесного приложения (не срабатывает точка останова)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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