Всем привет Заранее прошу прощения за глупые вопросы... Пытаюсь отлаживать в ольке процесс в реальном времени. Как я понял все потоки отлаживаемого приложения станут suspended Но вот при попытке возобновить (resume) на вкладке threads вроде ничего не происходит. Если запустить то олька напишет что нужно возобновить хоть 1 поток для продолжения, и приложение завершается. Так как все таки правильно возобновить работу? Можно ли возобновить все потоки сразу? И почему на вкладке threads состояние не меняется?
Clyde Это баг в оле, она не один раз суспендит потоки, а десятки раз. Поэтому нужно до посинения жать Resume.
Clerk не помогло... А нет ли плагинов чтобы автоматизировать? ну или патча чтоб залатать? И еще, всегда ли главный поток отвечает за главное окно приложения?
Да любое, например блокнот При загрузке в олю естественно главное окно исчезает. Допустим что я хочу совершить какие то действия, например написать пару слов или там файл сохранить. Как я понял для этого требуется восстановить все потоки(сделать активными), да вот только не получается
Clyde Бывает иногда такое, что Olly действительно, как написал Clerk, делает многократный suspend. Хотя у меня это довольно редко бывает. Против этого можно написать маленькую программку, которая делает ResumeThread, пока счётчик suspend'ов не обнулится. Но у Вас по идее не тот случай. Скорее всего должно помочь нажатие Pause (F12), а потом опять Run (F9). P.S. Нет... всё-таки у Вас тот же случай, что написал Clerk: многократный suspend.
l_inc, странно то, что олька пишет что все потоки active а при выполнении выдает что все suspended BTW а ни у кого нет туториалов с картинками или видео? в гугле не нашол, ничего похожего, везде только описание самой ольки
Clyde Если лень написать программку для выполнения ResumeThread, то можете взять вторую версию. Там по идее этого бага нету.
l_inc, thx Тут похоже дело не в лени а в кривых ручках ) Я не совсем уверен что делаю то что нужно...
l_inc ИМХО погонь 2j, у меня проблем с ресумом нет, я в крайнем случае могу открыть ядерный дебуггер и забить в ETHREAD.SuspendCount единицу. Нравится тебе со мной спорить )
Clerk Нет. Ну не буду же я человеку советовать ядерный дебаггер ставить, если у него ещё с Olly проблемы. По пути наименьшего сопротивления: написать маленькую программку. Не получается? Взять версию без этого бага. P.S. Вариант с клацаньем до посинения, конечно, тоже неплох, но счётчик бывает и за сотню зашкаливает. А если потоков пять-шесть, то посинеешь уж точно раньше.
Clyde Ну состояние потока можно определить по тому, что написано в меню: если Resume, то стоит, если Suspend, то работает. К тому же бага-то нету?
Clyde Ну это тока бета. Но у неё, конечно, свои преимущества, и немало: http://www.wasm.ru/forum/viewtopic.php?id=23113