Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Вниз

Как узнать где зациклилась программа?   Найти похожие ветки 

 
Gedevan   (2015-09-23 10:43) [0]

Писал писал программу, очень большая она получилась, и тут во время юзанья она вдруг "повисла", думаю где то случился бесконечный цикл. Но где найти не могу, обставил уже все точками останова) Если нажать на кнопку паузы то там отладка по ассемблерному коду идет и это мне ни о чем не говорит, как найти место где она колбасится?


 
кгшзх ©   (2015-09-23 11:30) [1]

скажи номер твоей планеты в тентури


 
DVM ©   (2015-09-23 11:58) [2]


> и тут во время юзанья она вдруг "повисла", думаю где то
> случился бесконечный цикл. Но где найти не могу

Если проблема не воспроизводится стабильно то и не найдешь, а если воспроизводится - постепенно локализуй место. Хотя пауза при запуске под отладчиком с большой долей вероятности и так укажет на это место, если конечно там бесконечный цикл крутится.
Повиснуть может не только из-за цикла, а например из-за дедлока, когда два потока ждут друг друга.


 
Rouse_ ©   (2015-09-23 19:13) [3]

Ставишь паузу бежишь по нитям и смотришь стек вызовов.
Часть нитей будет служебная и только одна из них - главной нитью приложения.
Если с первого раза стек не подхватился жми Run и опять паузу.

Как поймаешь стек основной нити - анализируй где крутишся.


 
MsGuns ©   (2015-09-24 20:53) [4]

Нити, стэки, потоки-дедлоки..
Вы уверены, что товарищу известны все эти штуки ?
Лично у меня это вызывает большие сомнения, судя по топику :)


 
manaka ©   (2015-09-24 20:56) [5]

виснет в одном и том-же месте? если да, до в коде программе в этом месте не так уж много циклов, наверное. отслеживай условие выхода из цикла и проверяй, как оно меняется. может и не в цикле дело. были случаи...


 
Сергей Суровцев ©   (2015-09-25 00:20) [6]

>MsGuns ©   (24.09.15 20:53) [4]
>Нити, стэки, потоки-дедлоки.. Вы уверены, что товарищу известны все эти штуки ?

Я не уверен, что в данном случае идти этим путем проще. Проще анализировать исходник.

>manaka ©   (24.09.15 20:56) [5]
>отслеживай условие выхода из цикла и проверяй,

Если дело реально в цикле, то скорее всего так и есть. Возможно условие зависит от неких внешних установок, изменения которых автор не предполагает, а они происходят.

>Gedevan   (23.09.15 10:43)
>Если нажать на кнопку паузы то там отладка по ассемблерному коду идет и это мне ни о чем не говорит

Не хочешь остановки ставить, выводи индикатор в цикле на экран и смотри.
(Блин, как раньше люди искали ошибки без среды программирования...)))  )

А вообще это больше напоминает сеанс коллективной телепатии.


 
Германн ©   (2015-09-25 02:14) [7]

Удалено модератором
Примечание: Создание пустых сообщений


 
TohaNik ©   (2015-09-25 20:32) [8]

Ну если действительно программа тобой написана, то наверное сначала посмотри циклы while и repead, оцени возможное количество итераций и поставь на большее бряк. Ну на рекурсии проверь. Это в лоб, а так советы выше:)


 
pavelnk ©   (2015-09-26 07:12) [9]

> Gedevan   (23.09.15 10:43) 
Уже отменили F7 и F8?


 
ВладОшин ©   (2015-09-26 17:24) [10]


> Если нажать на кнопку паузы то там отладка по ассемблерному
> коду идет

и тут идем
меню,
view callstack (ctrl+alt+s в delphi 6-7)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1413197845
marlet
2014-10-13 14:57
2016.07.24
Кодировка текста


15-1440235442
Rouse_
2015-08-22 12:24
2016.07.24
Суботняя головоломка от Розыча


15-1444728307
Юрий Зотов
2015-10-13 12:25
2016.07.24
java XPath


15-1447171629
DayGaykin
2015-11-10 19:07
2016.07.24
HTML, Chrome, Вложенные таблицы - помогите сформулировать вопрос


15-1437408033
0xDEADBEEF
2015-07-20 19:00
2016.07.24
Пишу резюме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский