Я немного новичок в AIX и столкнулся со странной проблемой. У меня есть две машины AIX, и мое приложение C ++ работает на одной и падает на другой.
Когда я проверил установленные пакеты (rpm -qa), я заметил одно отличие: для 1-й машины все rpm заканчиваются расширением .ppc, а для 2-го это не так. Мое приложение cpp отлично работает на 2-й машине.
Я подозреваю, что это может быть причиной этой проблемы, но не уверен.
PS: показывает разницу между двумя.
Трассировки стека:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xd0bded2c in std::locale::operator=(std::locale const&) () from /opt/freeware/lib/libstdc++.a(libstdc++.so.6)
(gdb) bt
#0 0xd0bded2c in std::locale::operator=(std::locale const&) () from /opt/freeware/lib/libstdc++.a(libstdc++.so.6)
#1 0xd0bdeee0 in std::ios_base::_M_init() () from /opt/freeware/lib/libstdc++.a(libstdc++.so.6)
#2 0xd0bdede4 in std::basic_ios<char, std::char_traits<char> >::init () from /opt/freeware/lib/libstdc++.a(libstdc++.so.6)
#3 0x100b618c in Logging::Logging (this=0x20086438, filename=..., level=4) at Logging.cpp:404
#4 0x1005d96c in main (argc=<error reading variable>, argv=<error reading variable>) at _start_ :141
warning: (Internal error: pc 0x100001e3 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0x100001e4 in read in psymtab, but not in symtab.)
Снимок кода:
string logFile = "test.txt"Logging* logger = new Logging(logFile,4);
// Logging Constructor
Logging::Logging(const string &filename,loglevel): logfilename(filename),level(loglevel) {
}
Задача ещё не решена.
Других решений пока нет …