它不会崩溃,因此没有要分析的核心。它只是停止。
我实验过多次。它恰好在 2 小时后停止。
操作系统:qnx6.5.0 LIB
: ZeroMQ 和 Protobuf
我只有一个线程,它看起来像这样:
dummyFrontEnd::dummyFrontEnd():context(1),socket(context,ZMQ_PUB) {
}
void dummyFrontEnd::Init()
{
socket.connect("tcp://127.0.0.1:5555");
cout << "Connecting .... " << endl;
}
void dummyFrontEnd::SendCANalyserTable(const std::string& filename)
{
...
zmq::message_t create_values( protoTable.ByteSizeLong()
+ sizeof(uint16_t)
);
*((uint16_t*)create_values.data()) = TABLEMSG_ID; // ID
protoTable.SerializeToArray( create_values.data()
+ sizeof(uint16_t),
protoTable.ByteSizeLong()
);
try {
socket.send(create_values,ZMQ_NOBLOCK);
}
catch (int e){
std::cout << "SPD exception e : "
<< e
<< std::endl;
}
protoTable.clear_columnvalues();
usleep(1);
}
}
void main(){
...
...
while(1) {
if (arguments.canalyser_filename != "") {
dmyFntEnd.SendCANalyserTable(arguments.canalyser_filename);
if (arguments.verbose) {
cout << "DummyFrontEnd"
<< "completed sending CANalyser table"
<< endl;
}
}
}
...
...
}