Доброго времени суток. Недавно начал читать статьи на вашем сайте про дебаггинг.Но столкнулся с странной проблемой: После первого запуска любой программы в среде олли и закрытия окна этой программы я немогу запустить ее повторно(В логе и в статусе олли пишет "Process terminated.Exit code 0").После заметил что даже после того как прога закрыта ее процесс висит в диспетчере. Вообщем как сделать так чтобы олли могла убить процесс при закрытии испытываемой проги? Ато после каждого запуска делать Debug -> restart как-то неудобно П.с у меня вин7 и проц core2duo пробывал версию олли 1.1 и 2.0 - одна и та же проблема. На другой отладчик переходить нехочется поэтому решения типа перейти на другой dbg не приветствуются
TermoSINteZ Каких "таких"? Если я правильно понял, автору не нравится, что Olly, будучи адекватным отладчиком, позволяет работать с процессом после вызова ExitProcess. Тем не менее, судя по первому посту, Debug->Restart и Debug->Close вполне работоспособны. Или Вы тоже считаете, что это проблема?
А спасибо,попробую alt+f2. Просто если кто не понял мой несформулированный 1ый пост, я хотел сказать что после первого запуска немогу запустить прогу 2ой раз.
Нет вы меня не поняли ведь alt+f2 - это закрытие программы с процессом. Мне нужно всеголишь запустить программу второй раз в среде олли (F9). П.с Еще раз повторю что моя проблема в том что после первого запуска проги я не могу запустить прогу в среде олли 2ой раз.
TRUCK Весело. Вы хоть осознаёте двусмысленность постановки вопроса? Вряд ли адекватному человеку сразу придёт в голову, что "запустить прогу под отладчиком 2ой раз" означает нечто отличное от: 1) запустить программу под отладчиком 2) завершить программу под отладчиком (Debug->Close bzw. Alt+F2) 3) запустить программу под отладчиком Если хотите, чтобы существовали паралелльно два экземпляра программы (т.е. два процесса) и оба отлаживались под Olly, то Вам нужно запустить соответственно два экземляра Olly и никак иначе. К тому же Вы нигде не упоминаете о том, что за программу Вы пытаетесь отлаживать. Возможно программа сама препятствует повторному её запуску.
P.S. Пункт 2) и 3) из предыдущего поста можно объединить в Debug->Restart (Ctrl+F9). Если Вам и это не подходит, то придётся Вам переформулировать вопрос, а не повторять каждый раз одно и то же: от этого он понятнее не становится.
Хм, Извините я плохо обьясняю. Вот допустим, я расписал свои действия: Запускаем олли. 1. File->open crackme.exe 2. Видим код программы -> нажимаем F9 ->видим окно нормального крякми (все нормально запустилось). 3. Жмём на стоп чтобы расставить BP (Или изменить код,или вообще ничего не сделать, тут во всех случаях и проявится моя проблема) 4. Внимание вот и проблема: при нажатии F9 после изменения кода/установки BP/Вообще ничего не изменяя - я не вижу окна крякми. При этом в статусе олли показывает Terminated. Я думаю хоть сейчас меня поймут? Или мне видео записать с моими действиями? )
попробуй так: установи точку останова в ходе программы, только чтоб по этому адресу исполнялся код) сделай рестарт ctrl+F2 запусти F9 если остановилась на точке останова значит у тебя все ок, а terminated означает что процесс завершился и кстати с каким кодом у тебя завершается процесс?
Я имел ввиду что я закрывал окно крякми для расстановки bp/ничего не изменял - В следующий раз при попытке увидеть окно проги не работает F9 (Неужели можно только юзать F12 (стоп)? Ведь некоторые программы сами себя закрывать любят. Это получается после каждого закрытия окна делать рестарт всего кода?) Старт/стоп работает корректно только на версии 2.0 (под моей вин7) Насчет эксит кода - Exit code 0
И что тут удивительного. Программа закончилась и все ее окна закрылись. Пока на поймаешь брейк так оно и будет. Это я называю "лыко и мочало, начинай сначала". Особенно обидно, когда уже вроде поймал и приходится опять долго-долго прыгать по найденным точкам... Тут я сажусь и начинаю думать. Кстати, когда прога терминайтед, то часть памяти еще не освобождена и можно ее смотреть... Кому-то это надо, но новичкам тут ловить нечего - хотя прога естественно еще сидит в процессах...