Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Features: - Properly display GUID/BuiltinTopicKeys, GUID Prefixes, and GUID Entity IDs with known built-in names - Shortcuts to important global singletons - Shortcuts to all participants, discoveries, SPDP and SEDP instances, user readers, and user writers - Helpers to make it easier to work with data structures in Python: `value_is`, `std_*_values`, `deref`, and `deref_holder`. To use: - Run `gdb -x path/to/gdbext.py ...` for a new session - `source path/to/gdbext.py` for an existing session Tested with Ubuntu 22.04 (GDB 12.1, gcc 11.4, and libstdc++ 3.4.30) This script might break with changes to either OpenDDS, GDB, or gcc/libstdc++ Example output: ``` (gdb) source gdbext.py OpenDDS GDB Extension ============================================================================== $service_part is the service participant $part_factory is the participant factory $transport_reg is the transport registry Discoveries ---------------------------------------------------------------------------------------- $disc_DEFAULT_RTPS is a OpenDDS::RTPS::RtpsDiscovery $disc_DEFAULT_STATIC is a OpenDDS::DCPS::StaticDiscovery $disc_application_rtps_discovery is a OpenDDS::RTPS::RtpsDiscovery $spdp_9b5587a4_9b0b0df5_f76f1ce4_000001c1 is a OpenDDS::RTPS::Spdp $sedp_9b5587a4_9b0b0df5_f76f1ce4_000001c1 is a OpenDDS::RTPS::Sedp $disc_relay_rtps_discovery is a OpenDDS::RTPS::RtpsDiscovery $spdp_01030022_48a8c1a1_075e65c0_000001c1 is a OpenDDS::RTPS::Spdp $sedp_01030022_48a8c1a1_075e65c0_000001c1 is a OpenDDS::RTPS::Sedp domain 0 ------------------------------------------------------------------------------------------- $part_9b5587a4_9b0b0df5_f76f1ce4_000001c1 is a participant $sub_9b5587a4_9b0b0df5_f76f1ce4_000001c1_0 is a subscriber domain 1 ------------------------------------------------------------------------------------------- $part_01030022_48a8c1a1_075e65c0_000001c1 is a participant $pub_01030022_48a8c1a1_075e65c0_000001c1_0 is a publisher $dw_01030022_48a8c1a1_075e65c0_01000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::HandlerStatistics> for "Handler Statistics" $dw_01030022_48a8c1a1_075e65c0_02000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::ParticipantStatistics> for "Participant Statistics" $dw_01030022_48a8c1a1_075e65c0_06000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::RelayAddress> for "Relay Addresses" $dw_01030022_48a8c1a1_075e65c0_04000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::RelayParticipantStatus> for "Relay Participant Status" $dw_01030022_48a8c1a1_075e65c0_03000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::RelayPartitions> for "Relay Partitions" $dw_01030022_48a8c1a1_075e65c0_00000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::RelayStatistics> for "Relay Statistics" $dw_01030022_48a8c1a1_075e65c0_07000002 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::RelayStatus> for "Relay Status" $dw_01030022_48a8c1a1_075e65c0_05000003 is a OpenDDS::DCPS::DataWriterImpl_T<RtpsRelay::SpdpReplay> for "SPDP Replay" $sub_01030022_48a8c1a1_075e65c0_000001c1_0 is a subscriber $sub_01030022_48a8c1a1_075e65c0_000001c1_1 is a subscriber $dr_01030022_48a8c1a1_075e65c0_01000007 is a OpenDDS::DCPS::DataReaderImpl_T<RtpsRelay::RelayAddress> for topic "Relay Addresses" $dr_01030022_48a8c1a1_075e65c0_00000007 is a OpenDDS::DCPS::DataReaderImpl_T<RtpsRelay::RelayPartitions> for topic "Relay Partitions" $dr_01030022_48a8c1a1_075e65c0_02000004 is a OpenDDS::DCPS::DataReaderImpl_T<RtpsRelay::SpdpReplay> for topic "SPDP Replay" (gdb) p $sedp_01030022_48a8c1a1_075e65c0_000001c1.type_lookup_reply_secure_writer_.ptr_->guid_ $1 = 01030022.48a8c1a1.075e65c0.ff0301c3 (secure type lookup reply builtin unkeyed writer) ```
- Loading branch information