Главная страница
    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
15-1444562106
pavelnk
2015-10-11 14:15
2016.07.24
Подскажите компонент


2-1416681305
Max
2014-11-22 21:35
2016.07.24
Как в ListView закрасить текст строки другим цветом WinApi?


15-1444771802
Юрий
2015-10-14 00:30
2016.07.24
С днем рождения ! 14 октября 2015 среда


15-1441698420
Cobalt
2015-09-08 10:47
2016.07.24
http://www.delphimaster.net/view/1-1128652349


15-1445020595
K-1000
2015-10-16 21:36
2016.07.24
Direct3D в Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский