Запустите функцию while () n раз в GDB - PullRequest
1 голос
/ 28 февраля 2020

Как бы я go о том, чтобы запустить l oop в C, сказал бы N раз? Например, я достигаю этой функции и затем хочу запустить блок while () 5 раз.

// while there are customers
while (customers_length)
{
        // check if there are customers waiting
        if (index == initial_customers_length)
                customers_are_waiting = 0;

        // increment one hour
        sum++;

        // for every cashier subtract one hour
        for (i = 0; i < n; i++)
        {
                cashiers[i].how_many_hours--;
                // if cashier has no customers and no customers waiting reset to 0;
                if (cashiers[i].how_many_hours < 0)
                        cashiers[i].how_many_hours = 0;
        }

        // if a cashier is free and there are no customers waiting, allocate next customer
        for (i = 0; i < n; i++)
        {
                if (!cashiers[i].how_many_hours && customers_are_waiting)
                {
                        cashiers[i].how_many_hours = customers[index];
                        customers_length--;
                        // queue next customer in line
                        index++;
                }
                if (!cashiers[i].how_many_hours)
                        customers_length--;
        }
}

Какая команда для этого в gdb?

1 Ответ

0 голосов
/ 28 февраля 2020

Я хочу запустить блок while () 5 раз.

Установить точку останова для первого оператора if внутри l oop. Затем используйте ignore $bpnum 5 и continue.

GDB остановится на точке останова оператора if на 6-й итерации по l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...