1

它不会崩溃,因此没有要分析的核心。它只是停止。

我实验过多次。它恰好在 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;
        }
    }
  }
...
...
}
4

0 回答 0