eXeL@B —› Основной форум —› Отладка многопроцесного приложения (не срабатывает точка останова) |
Посл.ответ | Сообщение |
|
Создано: 15 апреля 2005 13:50 · Поправил: SGN · Личное сообщение · #1 Уважаемые, не могли бы Вы подсказать, какие есть особенности при отладке приложений, состоящий из нескольких, процессов (потоков). PS У меня проблема: не могу поставить breakpoint... Точнее, при загрузке приложения, на событии "загрузка DLL" отладчик останавливается, после чего я устанавливаю точку останова, но она не срабатывает +( Что можете посоветовать? [ Харакири, просьба, не предлагать +) ] Дополнение Есть ли возможность в отладчике OllyDbg (WinDbg, SoftICE) в самом начале отладки загрузить ВСЕ библиотеки, используемые в приложении? |
|
Создано: 15 апреля 2005 19:58 · Личное сообщение · #2 SGN пишет: приложений, состоящий из нескольких, процессов (потоков) Процессы и потоки - разные вещи SGN пишет: Есть ли возможность в отладчике OllyDbg (WinDbg, SoftICE) в самом начале отладки загрузить ВСЕ библиотеки, используемые в приложении? В Olly - Options / Debugging options / Events. Убери там все галки "Break on..." и установи "Entry point of main module". Олька остановится после загрузки всех модулей на точке входа главного из них. Если я правильно понял, о чем ты. |
|
Создано: 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(...)". Всё же, как загрузить ВСЕ модули непосредственно перед началом трассировки. |
|
Создано: 15 апреля 2005 21:10 · Личное сообщение · #4 |
|
Создано: 08 февраля 2006 22:02 · Личное сообщение · #5 |
|
Создано: 08 февраля 2006 22:20 · Личное сообщение · #6 |
|
Создано: 09 февраля 2006 10:44 · Личное сообщение · #7 |
eXeL@B —› Основной форум —› Отладка многопроцесного приложения (не срабатывает точка останова) |