Итак, я пишу приложение для встроенной системы (Linux on ARM), и все работает нормально, пока я не решит добавить еще один класс в начале основной функции. Похоже, что это (не может опубликовать фактический код здесь):Неизвестная ошибка приложения
int main()
{
Someclass class1;
....
}
И после этого приложения просто возвращают код 1 (общая ошибка) с самого начала. Если я удалю его, все будет хорошо. Мне кажется, что у меня закончилось пространство стека, но в этом случае система должна выбросить SIGSEV или SIGSTKFLT. Но не было ничего, кроме кода ошибки 1. Я попытался получить stderr следующим образом:
./app 2> error.log
Но ничего не было.
Пробовал отладки с использованием удаленного GDB:
Клиент:
не удается получить доступ к памяти по адресу 0x3030204
не удается получить доступ к памяти по адресу 0x3030200
Сервер:
Удаленная отладка с хост xxxxxx
readchar: Got EOF
Удаленная сторона имеет прекращенное соединение.
Детали:
I`m wirting на C++ 11 (TR1) (конкретного проекта), компиляции с GCC 4.4.6 (также в рамках конкретных проектов), отладки с помощью GDB 7.4
Решено Большое спасибо всем, кто ответил, мне удалось решить эту проблему, и это была моя ошибка - я не инициализировал библиотеки устройств правильно, прежде чем вызывать класс-оболочку (позже они были инициализированы и, следовательно, они работали). Еще раз спасибо.
Информация о ваших классах может помочь. вы с системой C++ включены? –
Я тебя совершенно не понимаю. Если вы говорите о стандартных библиотеках C++ - да, они есть. – user3177112
вы можете использовать 'ldd' в исполняемом файле? удовлетворяются ли все зависимости? –