我使用 Opensplice DDS 6.7 创建了一个工具来创建阅读器,等待回调在读取的消息上执行,并打印消息的值。我们将 Google Protobuf 用于我们的消息结构。打印消息的值并执行return 0;
后,程序需要将近 5 秒才能真正终止。
单步执行 GDB 可以看到对 Protobuf 中的析构函数的许多调用以及来自 opensplice 的线程连接。是否有 unix 工具或 GDB 工具来分析线程/函数的挂钟执行时间或函数被调用的次数,以帮助缩小导致破坏挂起的库或包装器的范围?