Как остановить программу, ушедшую в бесконечный цикл?
Bebug ->Break all. команда останавливает программу.
и стрелка показывает на какой команде остановились.
- >:+()___ [Smile]
- Постоялец
#2
15:31, 24 авг 2021
Цепляешь дебаггер к зависшей программе (что-то вроде attach to process) и делаешь break. Если скомпилировал с отладочной информацией, оно покажет место в коде, где зависло. Если зависло где-то в системных кишках, можно посмотреть callstack или, если его тоже заглючило, вручную походить по ассемблеру, пока не вылезет в твой код.
- gamedeveloper01
- Постоялец
#3
15:37, 24 авг 2021
поставить на паузу во время запуска через vs
#4
18:07, 24 авг 2021
Пенобетонцев-вваген
> Bebug ->Break all. команда останавливает программу.
> и стрелка показывает на какой команде остановились.
Это в меню «отладка» должен появится этот пункт? Программа должна быть собрана в режиме «Debug» или можно и «Release»?
#5
18:32, 24 авг 2021
MikeNew
да.
очень желательно в дебуг, ибо в дебуге как раз есть инфа какая конкретно строчка собралась в этот машинный код.
- Пенобетонцев-вваген
- Постоялец
#6
19:12, 24 авг 2021
MikeNew
Нужно в дебаге собрать и запустить.
Можно даже в релизе. Но перед этим надо откомпилировать в дебаге и только потом запустить в релизе. Только не известно на сколько правильно оно в релизе будет работать. Может будет а может и не будет. Поэтому лучше в дебаге делать.
#7
2:13, 25 авг 2021
Пенобетонцев-вваген
> Но перед этим надо откомпилировать в дебаге и только потом запустить в релизе.
> Только не известно на сколько правильно оно в релизе будет работать. Может
> будет а может и не будет.
Чё это за бред?
MikeNew
> Программа должна быть собрана в режиме «Debug» или можно и «Release»?
Можно и в релизе, если ты не накрутил настроек вижуал специаально чтоб не заработало. Но будь готов к тому что укажет тебе не совсем то или совсем нето место при проверке. Тут как повезёт при компиле. А вообще не используй циклы(кроме основного). ranged for достаточно вполне, хотя при кривом использовании и он может уйти в UB, так как проблему вложенных эффектов никто не отменял и отследить их оочень трудно.
#8
4:02, 25 авг 2021
Странные советы выше. просто смотрите, где последний цикл написали и проблема решена.
Если раньше работало, значит проблема не там, а где написано последнее.
#9
5:17, 25 авг 2021
Всем спасибо, помогло.
Несколько порадовало то, что оказалось что в бесконечный цикл уходил не мой код, а функция из внешней библиотеки.
#10
14:02, 25 авг 2021
MikeNew
> Несколько порадовало то, что оказалось что в бесконечный цикл уходил не мой код, а функция из внешней библиотеки.
Что же тут радостного? Свой код ты бы легко исправил, а с библиотекой что делать будешь, если она кривая?
#11
15:21, 25 авг 2021
Zab
> Свой код ты бы легко исправил, а с библиотекой что делать будешь, если она
> кривая?
В данном случае библиотека опенсорс (другие вообще не использую). Да и альтернативы есть.
Как правильно остановить программу?
Недавно узнал, что system(«pause»); в конце кода лучше не использовать.
Тогда как надо правильно остановить программу?
З.Ы. Когда стоит применять system(«pause»);?
- Вопрос задан более двух лет назад
- 352 просмотра
Комментировать
Решения вопроса 1
Армянское Радио @gbg Куратор тега C++
Любые ответы на любые вопросы
Для того, чтобы посмотреть вывод программы, ее вовсе не надо останавливать — достаточно настроить IDE так, чтобы она не закрывала терминал после завершения программы.
Если сильно хочется, можно использовать вот такой код:
#include // Required for streamsize #include #include #include // Required for numeric_limits void myflush ( std::istream& in ) < in.ignore ( std::numeric_limits::max(), '\n' ); // опустошаем все что есть в буфере in.clear(); > void mypause() < std::cout
Как приостановить работу программы на несколько секунд?
Добрый день. скажите пожалуйста, как приостановить работу программы на несколько секунд? Например, что бы создавалась иллюзия, что противник в игре "думает".
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Приостановить приложение на несколько секунд
Здравствуйте. В приложении после нажатии на кнопку - кнопки должны пропадать, а приложение.
Как приостановить работу программы, до нажатия кнопки?
Появляется форма, на ней кнопка. Программа должна приостановить выполнение, пока не будет нажата.
Как приостановить работу программы на момент выполнения определенного кода
день добрый, у меня есть некоторый код, в определенном месте которого, я должен ждать пока.
Приостановить работу сторонней программы
Добрый день.Подскажите как сделать блокировку окна какой-нибудь программы,пока работает другая.
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1

Сообщение было отмечено ---Maxim--- как решение
Решение
QTread::msleep(1000);
Регистрация: 28.10.2017
Сообщений: 48
Спасибо, всё работает, только вы букву h пропустили - QThread
7629 / 6440 / 2937
Регистрация: 14.04.2014
Сообщений: 28,080
Нельзя останавливать интерфейс. Пусть думает через таймер.
Регистрация: 22.03.2014
Сообщений: 277
nmcf, а может он не главный?
7629 / 6440 / 2937
Регистрация: 14.04.2014
Сообщений: 28,080
Mikhail1990, кто?
Регистрация: 22.03.2014
Сообщений: 277
nmcf, поток
7629 / 6440 / 2937
Регистрация: 14.04.2014
Сообщений: 28,080
Если бы он таким пользовался, то не задавал бы вопрос этот.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как приостановить процесс на на n секунд, а после запустить вновь?
А как приостановить процесс на на n секунд, а после запустить вновь?
Ноутбук полностью зависает на несколько секунд с периодичностью тоже в несколько секунд
После 1-2 часов работы начинает подвисать ноутбук. Полное зависание на несколько секунд. Проверил.

Как приостановить работу основного потока?
Как приостановить работу основного потока? Проблема в том что заполнение динамического массива.
Как приостановить работу стороннего приложения
Ребят СРОЧНО нужна помощь! Нужна заморозка и открытие какого либо Проэкта или Программы.
Как приостановить программу
Argument 'Topic id' is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО "Планета Эксел" ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
