c++: std::in, _getch() работаю некорректно

260
25 сентября 2018, 11:30

Для отладки программы необходимо приостанавливать работу программы, порционно выводить некоторую информацию на экран и затем по команде заново продолжать работу (это для отладки, выводится визуализация некоторых данных, поэтому брейтпоинты и т.д. не помогут).

Сначала для остановки и запуска использовал _getch(), но после первой остановки и запуска программа второй раз _getch() игнорировала и останавливалась только на третьем, четвертый игнорировала, останавливалась на пятом и т.д.

Тогда заменил _getch() на std::in >> value, но там ситуация еще более странная - первый std::in срабатывает, следующие игнорируются напрочь (тоже самое и для связки std::in и _getch() - после первого std::in все остальное игрорируется).

Подскажите в чём может быть дело?

У меня скорее всего происходил запись за пределы выделенной памяти (ее и ищу) - может ли это приводить к таким результатам? Или я что-то не так вызываю?

P.S.

Код слишком большой, чтобы из него выделить некоторый самодостаточный воспроизводимый кусок, но вызов выглядит так:

void myfunc()
{
    std::cout << std::endl;
    show_debug(true, position);
    std::cout << std::endl;
    _getch();
    myfunc(); // у меня вложенные вызовы, но не глубокие (глубина до 4)
}

даже, если сделать так:

std::cout << std::endl;
std::cout << '*' << std::endl;
_getch();

будет воспроизводиться по 2 *

P.P.S.

Заметил, что в DEBUG такая проблема исчезает (точно куда-то течет!)

READ ALSO
Помогите справиться с заданием [закрыт]

Помогите справиться с заданием [закрыт]

Создать программу, которая демонстрирует, что функция со своим собственным try-блоком не должна перехватывать все возможные исключения, выброшенные...

233
Компилятор g++ флаги, оптимизация

Компилятор g++ флаги, оптимизация

Изучаю работу с g++ интересует линковка, генерация кода, оптимизация, g++ содержит множество флагов оптимизаций помимо -O1

260
Копируется пустой файл

Копируется пустой файл

У меня копируется пустой файлХотя до копирования я его создаю и наполняю содержимым

265