он может быть дублирован моим предыдущим вопросом, но я действительно обескуражен. Теперь я переношу приложение Windows Qt на Linux Ubuntu. Он составлен без проблем. Но во время отладки или запуска происходит что-то странное
это скриншот, который я сделал во время отладки. Вскоре у меня есть 2 синглтона - CoreManager и Config. Нанимаем, я пытаюсь получить один из них - CoreManager. Но отладчик показывает это как экземпляр Config! Это просто невозможно!
Здесь часть кода CoreManager:
CoreManager * ptr = NULL;
CoreManager *CoreManager::instance()
{
if(ptr == NULL) ptr = new CoreManager();
return ptr;
}
В Windows это работало без проблем. Оба класса синглтонов находятся в dll btw.
Это действительно похоже на ошибку Qt Creator (или менее вероятную ошибку gdb).
В строке меню в Qt Creator, вы можете открыть окно/Просмотры/"Debugger Вход" и введите print cm
команду поля "Command", чтобы увидеть, что GDB говорят вам о cm
символе.