Дважды теперь мой сервер падал после нескольких дней работы на этой линии.
int randomValue = rand() % m_list.size();
где m_list
std::list<int> m_list;
Авария
Program terminated with signal 8, Arithmetic exception.
получение размера списка должно быть гарантировано не отрицательным. Что может вызвать этот сбой? Может ли быть что-то с RAND быть причиной? Я запускаю ранд в начале моего сервера с
srand(time(NULL));
Любые советы приветствуются!
У меня не так много информации о ситуации, но есть ли в списке что-нибудь? Если нет, вы бы делили на ноль, и это все объясняло.
Итак, первый шаг — убедиться, что m_list не равен нулю.
Если это так, возможно, вы могли бы проверить, чтобы убедиться, что размер списка не равен нулю, прежде чем выполнять операцию.