Как определить из-за чего зависает программа?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by need_million, 12 Jun 2010.

  1. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    Вот почему то зависает программа после 10 минут работы.
    есть один поток он идет в цикле while но каждый раз я его жду через Join

    может быть есть какие то инструменты для определения?
     
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Ну допустим утечка памяти
     
  3. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Трейси выполнение программы.
     
  4. CraftR14

    CraftR14 New Member

    Joined:
    23 May 2010
    Messages:
    10
    Likes Received:
    3
    Reputations:
    0
    Если вайл, и ты не умееш с ним рабоатть то все просто) выходит такое выржение образно while 1=1 do sleep(1000) т.е. где то идет не завершимый цикл ~~
     
  5. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Зачем гадать, лучше исходник покажи
     
  6. zORG

    zORG New Member

    Joined:
    5 Jun 2010
    Messages:
    44
    Likes Received:
    2
    Reputations:
    0
    c# я так понял, можно нажать "Отладка" и посмотреть на какой строке вылетело и почему.
     
  7. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    У него программа не вылетает, она виснет.
     
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Бесконечный цикл, как пить дать
    Программа ждет наступления события которое никогда не произойдет
    Лечится бОльшим количеством проверок входных данных, и проверками в циклах на определенное условие при котором цикл должен прерваться (Break)

    Еще возможный вариант в мульти-тредных аппликациях: поток занял неделимый ресурс, его не освобождает, другие потоки ждут освобождения ресурса
     
    #8 GhostOnline, 12 Jun 2010
    Last edited: 12 Jun 2010
    1 person likes this.
  9. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Медиумов нет, давай код.
     
  10. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    дай угадаю, используешь WebRequest класс?
    попробуй переписать под HttpWebRequest
     
  11. need_million

    need_million Member

    Joined:
    29 Apr 2010
    Messages:
    158
    Likes Received:
    6
    Reputations:
    0
    использую HttpWebRequest.
    код полный кину чуть поже. а структура примерно такая:

    onlcikc -> тут запускается поток, в нем while -> тут много кода разных функций, после кода проверка на выход.

    p/s но без кода и правда врядли подскажете=(
     
Loading...
Similar Threads - определить зависает программа
  1. Peja
    Replies:
    0
    Views:
    2,651