Я уже некоторое время пишу приложение cpp. Через несколько часов в день было внесено небольшое изменение, и была создана сборка для ее тестирования, и, к моему удивлению, сборка была выполнена, и ничего не произошло, она не прекратила выполнение, у нее был запущен процесс. поэтому я остановил это. и это то, что я пробовал.
Восстановление моего ПК - тот же результат
Создание точки останова после точки входа. - Тот же результат
точка останова даже не попала, что заставляет меня думать, что точка входа просто не работает.
Произошла синтаксическая ошибка - он не компилировался и не запускался это означает, что моя программа компилировалась и запускалась раньше.
Полностью отменить все, что я сделал после последней запущенной сборки - тот же результат. это работало раньше, но я думаю, что больше нет
Изменение моей точки входа с WinMain на int main() -
Окно cmd было создано, но никаких признаков выполнения кода нет.
Выполнение std :: cout в первой строке (с окном cmd) - тот же результат
Единственное, что сработало, - это прокомментировать весь файл с точкой входа и просто написать:
#include <iostream>
int main() {
int i;
std::cout << "hello";
std::cin >> i;
}
Кто-нибудь знает, что может сделать такое странное поведение?
@AlanBirtles Большое спасибо, что вы были правы. бесконечный цикл в статическом инициализаторе. Просто нажав паузу, мне потребовалась минута, чтобы отладить проблему. это было неожиданное поведение системы отладки, она каким-то образом попала в бесконечный цикл отправки ошибок. Может быть, я отвечу, чтобы отметить его решенным?
где код?





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