update: I found this warning in debug
&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
To copy to clipboard, switch view to plain text mode

Originally Posted by
alizadeh91
Seems somethings wrong with rs_485. Can't tell what is it unless you provide a simple example (attach simple source code)
0 QMetaObject::activate(QObject*,
int,
int,
void**) /home
/saman
/Qt5.0.1
/5.0.1
/gcc
/lib
/libQt5Core.
so.5 0xb735c540
2 rs485::logMessage moc_rs485.cpp 153 0x8064c12
3 rs485::logConstruction rs485.cpp 498 0x805661d
4 MainWindow::MainWindow mainwindow.cpp 27 0x804e8c0
5 main main.cpp 9 0x804e5f0
0 QMetaObject::activate(QObject*, int, int, void**) /home/saman/Qt5.0.1/5.0.1/gcc/lib/libQt5Core.so.5 0xb735c540
1 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/saman/Qt5.0.1/5.0.1/gcc/lib/libQt5Core.so.5 0xb735d21b
2 rs485::logMessage moc_rs485.cpp 153 0x8064c12
3 rs485::logConstruction rs485.cpp 498 0x805661d
4 MainWindow::MainWindow mainwindow.cpp 27 0x804e8c0
5 main main.cpp 9 0x804e5f0
To copy to clipboard, switch view to plain text mode
Debugging gives me this:
void rs485::logMessage(const char * _t1)
{
void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
}
void rs485::logMessage(const char * _t1)
{
void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
To copy to clipboard, switch view to plain text mode
inside rs I have defined a signal
signals:
void logMessage(const char* );
signals:
void logMessage(const char* );
To copy to clipboard, switch view to plain text mode
After rs object creation, I call its member function to trigger a sample signal for the logger to catch:
void rs485::logConstruction()
{
emit logMessage("RS485 constructed:)");
}
void rs485::logConstruction()
{
emit logMessage("RS485 constructed:)");
}
To copy to clipboard, switch view to plain text mode
(this is done inside MainWindow):
connect(rs_485 , SIGNAL(logMessage(const char* )), logger, SLOT(logMessage(const char* )));
rs_485->printHello();
rs_485->logConstruction();
connect(rs_485 , SIGNAL(logMessage(const char* )), logger, SLOT(logMessage(const char* )));
rs_485->printHello();
rs_485->logConstruction();
To copy to clipboard, switch view to plain text mode
printHello Member works fine, but.... log construction jumps out!
Added after 25 minutes:
i found the problem,
tcsetattr(fd, TCSANOW, &portSettings) cannot succeed, it fails and closes the device.
that's why connect jumps outta program.
Bookmarks