Ошибка сегментации в программе управления виртуальной машиной C ++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка сегментации в программе управления виртуальной машиной C ++

Сообщение Anonymous »

Я пишу программу, которая управляет виртуальными машинами между хостами. У меня есть информация о процессоре и оперативной памяти, которая нуждается в виртуальной машине, и информация о ЦП ОЗУ+о хосте. Я могу добавить виртуальную машину для размещения, заменить VR на тот, который мне нужно разместить или отрицать размещение виртуальной машины. Итак, когда я попытался проверить свою программу с помощью виртуальной машины, которую можно разместить с помощью метода «Добавить», это было хорошо, но когда моя программа пытается выполнить «Заменить» метод, она останавливает программу с «ошибкой сегментации». Я ищу то, что называет эту проблему - по какой -то причине, когда я проверяю vmachines.size () в начале метода «Заменить», он возвращает мне очень большое количество. Я также проверил, появляется ли этот большой размер в другой функции, но это не так. Так что я не знаю, что делать. Я буду очень благодарен, если вы можете ответить мне, почему я получаю такое большое количество в итерации, где виртуальная машина не может быть просто добавлена ​​и должна быть заменить.
Я также извиняюсь за свой стиль кода. Это должен был быть просто прототип, и я не думал о том, как это читаемо) ': < /p>
#include
#include
#include

enum class Params{error, success, move};

class Logs
{
public:
Logs() = default;
~Logs() = default;
void add(std::string msg, int param)
{
switch (param){
case static_cast(Params::error):
addParam = "\x1b[31;1m";
break;
case static_cast(Params::success):
addParam = "\x1b[32;1m";
break;
case static_cast(Params::move):
addParam = "\x1b[33;1m";
break;
default:
addParam = "";
}

logList.push_back(addParam + msg + addParam + "\n");
}

void check()
{
if(logList.empty())
{
std::cout

Подробнее здесь: https://stackoverflow.com/questions/795 ... -c-program
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»