Помогите понять и найти сбойное место в программе..

Тема в разделе "WASM.RESEARCH", создана пользователем Morgan, 23 июн 2009.

  1. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Падает в RtlEnterCriticalSection() - вероятно страница в которой структура передаваемая в эту функцию не доступна для записи, тоесть не корректный параметр. Для более подробной инфы нужна цепочка стековых фреймов.
     
  2. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    скажи что дать я не спец особый в этом ток учусь )
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Morgan
    Грит уже сказал во втором посте - по дефолту олю ставь джитом и когда окно с ошибкой появится клац на кнопку "Отладка", дальше всё сразу будет видно.
     
  4. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    сделал но не получилось... не вышло оно прога отругала меня и всё окна пустые.. OS 2008 Server
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Это запускаемое приложение падает, или оно другой процесс сносит ?
    Если запускаемое то под олей запускать нужно, бряк на диспетчер исключений.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Может быть это рантайм среды мессаги боксит без экцепшинов. Тогда на NtRaiseHardError бряк. Вобщем не знаю.
     
  7. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    под олей оно не запускается вообще почемуто
     
  8. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    не всегда на этом смещении валится....
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Ну хотябы окно сфоткайте или чтонибудь.
     
  10. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    там просто выдает отладить или закрыть какое окно сфоткать окна пустые.... а прога это клиент
     
  11. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    опечатка не, наоборот всегда на этом смещении валится....
     
  12. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    в аське... я вам послал собщение.. можем поговарить дальше..
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Morgan
    Ну так как искать сбойное место, если ничего не известно вобще.
     
  14. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    ну программа есть.. только проблема что оле не отлавливает под 2008 может что другое подвесить? как то стек сбойный поймать но как.? и чем
     
  15. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Clerk
    PS о кое что новенькое выдало на этой ошибке выйди в аську скину скрин..
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Morgan
    Мне с вами нечего в асе обсуждать. Вот топик полностью достаточный для идентификации ошибки: http://wasm.ru/forum/viewtopic.php?id=32181
    Если в тулзе какието антиотладочные механизмы используются, следует взять ядерный дебуггер. Поставить останов и посмотреть стек думаю не составит труда.
     
  17. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Все это прекрасно Оле не пашет под 2008 Server SP2 x86 что можно использовать из утелит? посоветуйте , заранее спасибо
     
  18. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Morgan
    Точно не пашет? Просто под Server2008 SP1 x64 Olly прекрасно работает.
    По поводу ошибки – возможно, в программе используются "недокументированные" поля из критической секции (вместо вызова InitializeCriticalSection поля вручную заполняются и всё такое). Видели мы подобное. Да, судя по всему программа сама заполняет структуру крысекции и кладёт в качестве указателя DebugInfo нуль (а винда ожидает либо корректный указатель, либо 0xFFFFFFFF).

    Как исправить? Найти (с помощью IDA, Olly или WinDbg) место в программе, где инициализируются критические секции. А если программа "для себя", то проще сделать лоадер, который будет патчить ntdll (добавить несколько проверок на нуль в функции, связанные с крысекциями).
     
  19. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    Sol_Ksacap
    не пашет или его нужно особо настроить?
     
  20. Morgan

    Morgan New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2009
    Сообщения:
    35
    PS программа собрана на 2009 Дельфях это точно...