ollydbg just in time

Discussion in 'WASM.BEGINNERS' started by Clyde, Mar 29, 2009.

  1. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    Всем привет
    Заранее прошу прощения за глупые вопросы...
    Пытаюсь отлаживать в ольке процесс в реальном времени.
    Как я понял все потоки отлаживаемого приложения станут suspended
    Но вот при попытке возобновить (resume) на вкладке threads вроде ничего не
    происходит. Если запустить то олька напишет что нужно возобновить хоть 1 поток
    для продолжения, и приложение завершается. Так как все таки правильно
    возобновить работу? Можно ли возобновить все потоки сразу? И почему на вкладке
    threads состояние не меняется?
     
  2. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Clyde
    Это баг в оле, она не один раз суспендит потоки, а десятки раз. Поэтому нужно до посинения жать Resume.
     
  3. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    Clerk не помогло...
    А нет ли плагинов чтобы автоматизировать?
    ну или патча чтоб залатать?
    И еще, всегда ли главный поток отвечает за главное окно приложения?
     
  4. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Нет.
    Не знаю.
    Может это антиотладка какая хз. А что за приложение ?
     
  5. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    Да любое, например блокнот
    При загрузке в олю естественно главное окно исчезает. Допустим что я хочу совершить
    какие то действия, например написать пару слов или там файл сохранить. Как я понял
    для этого требуется восстановить все потоки(сделать активными), да вот только не получается
     
  6. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Можно переключать активные потоки. Но дебажить можно только один.
     
  7. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clyde
    Бывает иногда такое, что Olly действительно, как написал Clerk, делает многократный suspend. Хотя у меня это довольно редко бывает. Против этого можно написать маленькую программку, которая делает ResumeThread, пока счётчик suspend'ов не обнулится. Но у Вас по идее не тот случай. Скорее всего должно помочь нажатие Pause (F12), а потом опять Run (F9).
    P.S. Нет... всё-таки у Вас тот же случай, что написал Clerk: многократный suspend. :)
     
  8. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    l_inc, странно то, что олька пишет что все потоки active
    а при выполнении выдает что все suspended
    BTW а ни у кого нет туториалов с картинками или видео?
    в гугле не нашол, ничего похожего, везде только описание самой
    ольки
     
  9. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clyde
    Если лень написать программку для выполнения ResumeThread, то можете взять вторую версию. Там по идее этого бага нету.
     
  10. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    l_inc, thx
    Тут похоже дело не в лени а в кривых ручках )
    Я не совсем уверен что делаю то что нужно...
     
  11. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    l_inc
    ИМХО погонь 2j, у меня проблем с ресумом нет, я в крайнем случае могу открыть ядерный дебуггер и забить в ETHREAD.SuspendCount единицу. Нравится тебе со мной спорить :))
     
  12. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clerk
    :) Нет. Ну не буду же я человеку советовать ядерный дебаггер ставить, если у него ещё с Olly проблемы. :) По пути наименьшего сопротивления: написать маленькую программку. Не получается? Взять версию без этого бага.
    P.S. Вариант с клацаньем до посинения, конечно, тоже неплох, но счётчик бывает и за сотню зашкаливает. А если потоков пять-шесть, то посинеешь уж точно раньше.
     
  13. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    l_inc
    Да я и не пробовал.
     
  14. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clerk
    Так я ж не о Вас. :) Я писал, когда надо было.
     
  15. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    l_inc
    Аа, точно. У товарища весьма имя похоже :dntknw:
     
  16. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    Взял 2 версию и ужаснулся....
    Там даже состояние потоков не показано (в поле status пусто )
     
  17. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clyde
    Ну состояние потока можно определить по тому, что написано в меню: если Resume, то стоит, если Suspend, то работает. К тому же бага-то нету?
     
  18. Clyde

    Clyde New Member

    Blog Posts:
    0
    Joined:
    Mar 29, 2009
    Messages:
    154
    l_inc
    бага нету, но весьма лениво щелкать по кнопочком если потоков около 15-20 :)
     
  19. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    Clyde
    Ну это тока бета. :) Но у неё, конечно, свои преимущества, и немало:
    http://www.wasm.ru/forum/viewtopic.php?id=23113