A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Debugging
+ Collaboration diagram for Debugging:

Modules

 Assert
 assert functions and macros
 
 Fatal Error Handler
 Functions to help clean up when fatal error is encountered.
 
 Logging
 Logging functions and macros.
 

Macros

#define NS_ABORT_IF(cond)
 Abnormal program termination if cond is true. More...
 
#define NS_ABORT_MSG(msg)
 Abnormal program termination. More...
 
#define NS_ABORT_MSG_IF(cond, msg)
 Abnormal program termination if cond is true. More...
 
#define NS_ABORT_MSG_UNLESS(cond, msg)   NS_ABORT_MSG_IF (!(cond),msg)
 Abnormal program termination if cond is false. More...
 
#define NS_ABORT_UNLESS(cond)   NS_ABORT_IF (!(cond))
 Abnormal program termination if cond is false. More...
 
#define NS_BREAKPOINT()   ns3::BreakpointFallback ()
 Inserts a breakpoint instruction (or equivalent system call) into the code for selected machines. More...
 
#define NS_FATAL_ERROR(msg)
 fatal error handling More...
 
#define NS_FATAL_ERROR_NO_MSG()
 fatal error handling More...
 

Functions

void ns3::BreakpointFallback (void)
 fallback breakpoint function More...
 

Detailed Description

Macro Definition Documentation

#define NS_ABORT_IF (   cond)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << ", "; \
} \
} while (false)
#define NS_FATAL_ERROR_NO_MSG()
fatal error handling
Definition: fatal-error.h:44

Abnormal program termination if cond is true.

Parameters
condcondition to be evaluated.

This is similar to NS_ASSERT(!(cond)), except this check is enabled in all builds. If cond is evaluated to true, the espression evaluating to true is printed to stderr, followed by a call to the NS_FATAL_ERROR_NO_MSG() macro which prints the details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code, but may be overridden).

This macro is enable unconditionally in all builds, including debug and optimized builds.

Definition at line 69 of file abort.h.

Referenced by ns3::EpcTft::Add(), ns3::EpcSgwPgwApplication::DoCreateSessionRequest(), ns3::LteEpcE2eDataTestCase::DoRun(), ns3::UeManager::GetDataRadioBearerInfo(), ns3::PyViz::TraceNetDevPromiscRxCsma(), ns3::PyViz::TraceNetDevRxCsma(), ns3::PyViz::TraceNetDevRxWifi(), ns3::PyViz::TraceNetDevTxCsma(), and ns3::PyViz::TraceNetDevTxWifi().

#define NS_ABORT_MSG (   msg)
Value:
do { \
std::cerr << "aborted. "; \
} while (false)
#define NS_FATAL_ERROR(msg)
fatal error handling
Definition: fatal-error.h:72

Abnormal program termination.

Parameters
msgmessage to output when this macro is hit.

This macro is essentially equivalent to NS_FATAL_ERROR, excepts it prepends the error message with the string "aborted. ". When this macro is hit a runtime, the program will be halted using std::terminate, which triggers clean up code regestered by std::set_terminate.

This macro is enable unconditionally in all builds, including debug and optimized builds.

See also
NS_FATAL_ERROR

Definition at line 43 of file abort.h.

Referenced by ns3::GnuplotAggregator::Add2dDataset(), ns3::FileHelper::AddAggregator(), ns3::FileHelper::AddProbe(), ns3::GnuplotHelper::AddProbe(), ns3::FileHelper::AddTimeSeriesAdaptor(), ns3::GnuplotHelper::AddTimeSeriesAdaptor(), ns3::SixLowPanNetDevice::CompressLowPanNhc(), ns3::ConfigStore::ConfigStore(), ns3::SixLowPanNetDevice::DecompressLowPanIphc(), ns3::SixLowPanNetDevice::DecompressLowPanNhc(), ns3::SixLowPanNetDevice::Fragments::GetPacket(), ns3::FileHelper::GetProbe(), ns3::GnuplotHelper::GetProbe(), ns3::RedQueue::GetQueueSize(), main(), ns3::SixLowPanNetDevice::MakeGlobalAddressFromMac(), ns3::SixLowPanNetDevice::MakeLinkLocalAddressFromMac(), ns3::operator<<(), ns3::PcapSniffRxEvent(), ns3::PcapSniffTxEvent(), PerfFile(), ns3::SixLowPanIphc::PostProcessDac(), ns3::SixLowPanIphc::PostProcessSac(), ns3::GnuplotAggregator::Set2dDatasetErrorBars(), ns3::GnuplotAggregator::Set2dDatasetExtra(), ns3::GnuplotAggregator::Set2dDatasetStyle(), ns3::YansWifiPhyHelper::SetPcapDataLinkType(), ns3::Time::Time(), ns3::GnuplotAggregator::Write2d(), ns3::GnuplotAggregator::Write2dDatasetEmptyLine(), ns3::GnuplotAggregator::Write2dWithXErrorDelta(), ns3::GnuplotAggregator::Write2dWithXYErrorDelta(), and ns3::GnuplotAggregator::Write2dWithYErrorDelta().

#define NS_ABORT_MSG_IF (   cond,
  msg 
)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << "\", "; \
} \
} while (false)
#define NS_FATAL_ERROR(msg)
fatal error handling
Definition: fatal-error.h:72

Abnormal program termination if cond is true.

Parameters
condcondition to be evaluated.
msgmessage to output when cond is true.

This is similar to NS_ASSERT_MSG(!(cond)), except this check is enabled in all builds. If cond is evaluated to true, the espression evaluating to true is printed to stderr, followed by a call to the NS_FATAL_ERROR() macro which prints the user-specified error message, and details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code, but may be overridden).

This macro is enable unconditionally in all builds, including debug and optimized builds.

Definition at line 98 of file abort.h.

Referenced by ns3::WaypointMobilityModel::AddWaypoint(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::PcapHelper::CreateFile(), ns3::PlanetLabFdNetDeviceHelper::CreateFileDescriptor(), ns3::TapFdNetDeviceHelper::CreateFileDescriptor(), ns3::TapBridge::CreateTap(), ns3::GlobalRouter::DiscoverLSAs(), ns3::TapBridgeFdReader::DoRead(), ns3::FdNetDeviceFdReader::DoRead(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::PcapHelperForDevice::EnablePcap(), ns3::YansWifiPhyHelper::EnablePcapInternal(), ns3::SystemWallClockMsPrivate::End(), ns3::RadioEnvironmentMapHelper::Install(), ns3::LteHelper::InstallSingleEnbDevice(), ns3::LteHelper::InstallSingleUeDevice(), main(), ns3::AthstatsWifiTraceSink::Open(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), ns3::GlobalRouter::ProcessSingleBroadcastLink(), ns3::TapBridge::ReceiveFromBridgedDevice(), ns3::TcpSocketBase::Recv(), ns3::TcpSocketBase::Send(), ns3::Ipv4Header::SetFragmentOffset(), and ns3::TapBridge::StartTapDevice().

#define NS_ABORT_MSG_UNLESS (   cond,
  msg 
)    NS_ABORT_MSG_IF (!(cond),msg)

Abnormal program termination if cond is false.

Parameters
condcondition to be evaluated.
msgmessage to output if cond is false.

This is an alias for NS_ABORT_MSG_IF(!(cond))

See also
NS_ABORT_MSG_IF

Definition at line 131 of file abort.h.

Referenced by ns3::Names::Add(), ns3::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::BufferSizeLevelBsr::BsrId2BufferSize(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), Ns3TcpLossTestCase::DoSetup(), Ns3TcpStateTestCase::DoSetup(), Ns3TcpInteroperabilityTestCase::DoSetup(), ns3::TestVectors< T >::Get(), ns3::PcapHelper::GetFilenameFromDevice(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::PcapHelper::GetFilenameFromInterfacePair(), ns3::AsciiTraceHelper::GetFilenameFromInterfacePair(), ns3::Ipv4AddressGeneratorImpl::Init(), ns3::Ipv4AddressGeneratorImpl::InitAddress(), ns3::BuildingsHelper::Install(), main(), ns3::BuildingsHelper::MakeConsistent(), ns3::BuildingsHelper::MakeMobilityModelConsistent(), ns3::Ipv4AddressGeneratorImpl::MaskToIndex(), ns3::Ipv4NixVectorRouting::NetDeviceIsBridged(), ns3::GlobalRouter::NetDeviceIsBridged(), ns3::Ipv4AddressGeneratorImpl::NextAddress(), ns3::AthstatsWifiTraceSink::Open(), ns3::OutputStreamWrapper::OutputStreamWrapper(), ns3::Ipv6AddressGeneratorImpl::PrefixToIndex(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), ns3::GlobalRouter::ProcessSingleBroadcastLink(), ns3::Names::Rename(), ns3::TcpNewReno::SetInitialCwnd(), ns3::TcpReno::SetInitialCwnd(), ns3::TcpTahoe::SetInitialCwnd(), ns3::TcpWestwood::SetInitialCwnd(), ns3::TcpNewReno::SetSegSize(), ns3::TcpReno::SetSegSize(), ns3::TcpTahoe::SetSegSize(), ns3::TcpWestwood::SetSegSize(), ns3::TcpSocketBase::SetSegSize(), and ns3::AthstatsWifiTraceSink::WriteStats().

#define NS_ABORT_UNLESS (   cond)    NS_ABORT_IF (!(cond))

Abnormal program termination if cond is false.

Parameters
condcondition to be evaluated.

This is an alias for NS_ABORT_IF(!(cond))

See also
NS_ABORT_IF

Definition at line 117 of file abort.h.

#define NS_BREAKPOINT ( )    ns3::BreakpointFallback ()

Inserts a breakpoint instruction (or equivalent system call) into the code for selected machines.

When an NS_ASSERT cannot verify its condition, this macro is used. Falls back to calling AssertBreakpoint() for architectures where breakpoint assembly instructions are not supported.

Definition at line 56 of file breakpoint.h.

#define NS_FATAL_ERROR (   msg)
Value:
do \
{ \
std::cerr << "msg=\"" << msg << "\", "; \
} \
while (false)
#define NS_FATAL_ERROR_NO_MSG()
fatal error handling
Definition: fatal-error.h:44

fatal error handling

Parameters
msgmessage to output when this macro is hit.

When this macro is hit at runtime, the user-specified error message is printed to stderr, followed by a call to the NS_FATAL_ERROR_NO_MSG() macro which prints the details of filename and line number to stderr. The program will be halted by calling std::terminate(), triggering any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code, but may be overridden).

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 72 of file fatal-error.h.

Referenced by ns3::EpcUeNas::ActivateEpsBearer(), ns3::EutranMeasurementMapping::ActualA3Offset2IeValue(), ns3::EutranMeasurementMapping::ActualHysteresis2IeValue(), ns3::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::Ipv6AddressGeneratorImpl::AddAllocated(), ns3::IidManager::AddAttribute(), ns3::Ipv6L3Protocol::AddAutoconfiguredAddress(), ns3::BridgeNetDevice::AddBridgePort(), ns3::ConnectionManager::AddConnection(), ns3::IidManager::AddConstructor(), ns3::UeManager::AddDataRadioBearerInfo(), ns3::CsmaNetDevice::AddHeader(), ns3::MeshPointDevice::AddInterface(), ns3::WimaxNetDevice::AddLinkChangeCallback(), ns3::NixVector::AddNeighborIndex(), ns3::LteAnr::AddNeighbourRelation(), ns3::TestCase::AddTestCase(), ns3::IidManager::AddTraceSource(), ns3::LteEnbRrc::AddUeMeasReportConfig(), ns3::Object::AggregateObject(), ns3::CidFactory::Allocate(), ns3::LteUeRrc::ApplyMeasConfig(), ns3::LteUeRrc::ApplyRadioResourceConfigDedicated(), ns3::LteHelper::Attach(), ns3::XmlConfigSave::Attributes(), ns3::XmlConfigLoad::Attributes(), ns3::GlobalValue::Bind(), ns3::BriteTopologyHelper::BuildBriteEdgeInfoList(), ns3::BriteTopologyHelper::BuildBriteNodeInfoList(), ns3::Building::Building(), ns3::BandwidthManager::CalculateAllocationSize(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::CheckEnvironmentVariables(), ns3::WifiMac::ConfigureDcf(), ns3::OcbWifiMac::ConfigureEdca(), ns3::SocketWriter::Connect(), ns3::GnuplotHelper::ConnectProbeToAggregator(), ns3::FileHelper::ConnectProbeToAggregator(), ns3::WimaxHelper::CreateBSScheduler(), ns3::ConnectionManager::CreateConnection(), ns3::TestCase::CreateDataDirFilename(), ns3::EmuFdNetDeviceHelper::CreateFileDescriptor(), ns3::PlanetLabFdNetDeviceHelper::CreateFileDescriptor(), ns3::TapFdNetDeviceHelper::CreateFileDescriptor(), ns3::WimaxHelper::CreatePhy(), ns3::WimaxHelper::CreatePhyWithoutChannel(), ns3::EmuNetDevice::CreateSocket(), ns3::TapBridge::CreateTap(), ns3::WimaxHelper::CreateUplinkScheduler(), ns3::WifiModeFactory::CreateWifiMode(), ns3::DataRate::DataRate(), ns3::XmlConfigSave::Default(), ns3::XmlConfigLoad::Default(), ns3::CtrlBAckRequestHeader::Deserialize(), ns3::dot11s::PeerLinkFrameStart::Deserialize(), ns3::OrganizationIdentifier::Deserialize(), ns3::Tlv::Deserialize(), ns3::CtrlBAckResponseHeader::Deserialize(), ns3::SfVectorTlvValue::Deserialize(), ns3::CtrlBAckResponseHeader::DeserializeBitmap(), ns3::ObjectPtrContainerValue::DeserializeFromString(), ns3::dot11s::IeConfiguration::DeserializeInformationField(), ns3::MeshInformationElementVector::DeserializeSingleIe(), ns3::WifiInformationElementVector::DeserializeSingleIe(), ns3::GrantedTimeWindowMpiInterface::Disable(), ns3::NullMessageMpiInterface::Disable(), ns3::DistributedSimulatorImpl::DistributedSimulatorImpl(), ns3::Callback< void, ns3::Ptr< const ns3::Packet >, ns3::UanTxMode, T3, T4, T5, T6, T7, T8 >::DoAssign(), ns3::LteUeRrc::DoConnect(), ns3::LteUeRrc::DoDisconnect(), ns3::LteEnbMac::DoDlInfoListElementHarqFeeback(), ns3::LteUeRrc::DoForceCampedOnEnb(), ns3::AcousticModemEnergyModel::DoGetCurrentA(), ns3::WifiRadioEnergyModel::DoGetCurrentA(), ns3::SimpleOfdmWimaxPhy::DoGetDataRate(), ns3::SimpleOfdmWimaxChannel::DoGetDevice(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDuration(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor(), ns3::EpcMme::DoInitialContextSetupResponse(), ns3::UeManager::DoInitialize(), ns3::olsr::RoutingProtocol::DoInitialize(), ns3::BasicEnergySourceHelper::DoInstall(), ns3::RvBatteryModelHelper::DoInstall(), ns3::WifiRadioEnergyModelHelper::DoInstall(), ns3::AcousticModemEnergyModelHelper::DoInstall(), ns3::LteEnbRrc::DoNotifyLcConfigResult(), ns3::LteUeRrc::DoNotifyRandomAccessFailed(), ns3::LteUeRrc::DoNotifyRandomAccessSuccessful(), ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::LteUeMac::DoReceiveLteControlMessage(), ns3::LteEnbMac::DoReconfigureLc(), ns3::LteEnbRrc::DoRecvHandoverRequest(), ns3::LteUeRrc::DoRecvRrcConnectionReconfiguration(), ns3::LteUeRrc::DoRecvRrcConnectionReestablishment(), ns3::LteUeRrc::DoRecvRrcConnectionReestablishmentReject(), ns3::LteUeRrc::DoRecvRrcConnectionSetup(), ns3::LteEnbRrc::DoRecvUeData(), ns3::LteEnbMac::DoReleaseLc(), ns3::LenaMimoTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), ns3::LteX2HandoverMeasuresTestCase::DoRun(), ns3::LteCellSelectionTestCase::DoRun(), ns3::LteHandoverTargetTestCase::DoRun(), ns3::LteEnbMac::DoSchedDlConfigInd(), ns3::RrFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TtaFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdMtFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdMtFfMacScheduler::DoSchedDlMacBufferReq(), ns3::PfFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdBetFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdBetFfMacScheduler::DoSchedDlMacBufferReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlMacBufferReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlMacBufferReq(), ns3::PssFfMacScheduler::DoSchedDlMacBufferReq(), ns3::RrFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TtaFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdMtFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdMtFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::PfFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdBetFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdBetFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::PssFfMacScheduler::DoSchedDlPagingBufferReq(), ns3::RrFfMacScheduler::DoSchedDlTriggerReq(), ns3::TtaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdMtFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdMtFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdBetFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdBetFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), ns3::RrFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TtaFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdMtFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdMtFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::PfFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdBetFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdBetFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::TdTbfqFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::PssFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::RrFfMacScheduler::DoSchedUlTriggerReq(), ns3::TtaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdMtFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdMtFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdBetFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdBetFfMacScheduler::DoSchedUlTriggerReq(), ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), ns3::LteUePhy::DoSynchronizeWithEnb(), ns3::Ipv4FlowProbe::DropLogger(), ns3::GrantedTimeWindowMpiInterface::Enable(), ns3::UanMacCw::EndTx(), ns3::RegularWifiMac::Enqueue(), ns3::BlockAckManager::ExistsAgreementInState(), ns3::NixVector::ExtractNeighborIndex(), ns3::BlockAckCache::FillBlockAckBitmap(), ns3::PyViz::FilterPacket(), ns3::LteAnr::Find(), ns3::LteStatsCalculator::FindCellIdFromEnbRlcPath(), ns3::Ipv4FlowClassifier::FindFlow(), ns3::LteStatsCalculator::FindImsiFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromLteNetDevice(), ns3::LteStatsCalculator::FindImsiFromUePhy(), ns3::GlobalRouteManagerImpl::FindOutgoingInterfaceId(), ns3::SystemPath::FindSelfDirectory(), ns3::RegularWifiMac::FinishConfigureStandard(), ns3::EmuNetDevice::ForwardUp(), ns3::CidFactory::FreeCid(), ns3::WifiActionHeader::GetAction(), ns3::ObjectBase::GetAttribute(), ns3::OcbWifiMac::GetBssid(), ns3::BurstProfileManager::GetBurstProfile(), ns3::WifiActionHeader::GetCategory(), ns3::EmuNetDevice::GetChannel(), ns3::LteSpectrumValueHelper::GetChannelBandwidth(), ns3::SimpleOfdmWimaxPhy::GetCodedFecBlockSize(), ns3::ConnectionManager::GetConnections(), ns3::IidManager::GetConstructor(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::WifiPhyStateHelper::GetDelayUntilIdle(), ns3::MultiModelSpectrumChannel::GetDevice(), ns3::dsr::DsrRouting::GetDownTarget6(), ns3::SimpleOfdmWimaxPhy::GetFecBlockSize(), ns3::MeshPointDevice::GetInterface(), ns3::PointToPointGridHelper::GetIpv4Address(), ns3::PointToPointGridHelper::GetIpv6Address(), ns3::UanTxModeFactory::GetModeItem(), ns3::BurstProfileManager::GetModulationType(), ns3::EmuNetDevice::GetMtu(), ns3::UanNetDevice::GetMulticast(), ns3::LteEnbRrc::GetNewSrsConfigurationIndex(), ns3::PointToPointGridHelper::GetNode(), ns3::ConnectionManager::GetNPackets(), ns3::EpsBearer::GetPacketDelayBudgetMs(), ns3::EpsBearer::GetPacketErrorLossRate(), ns3::UanPhyDual::GetPacketRx(), ns3::WifiPhy::GetPayloadDurationMicroSeconds(), ns3::WifiPhy::GetPlcpHeaderDurationMicroSeconds(), ns3::WifiPhy::GetPlcpHeaderMode(), ns3::WifiPhy::GetPlcpPreambleDurationMicroSeconds(), ns3::AnimationInterface::GetPosition(), ns3::EpsBearer::GetPriority(), ns3::Ipv4ListRouting::GetRoutingProtocol(), ns3::Ipv6ListRouting::GetRoutingProtocol(), ns3::ServiceFlow::GetSchedulingTypeStr(), ns3::CtrlBAckRequestHeader::GetSerializedSize(), ns3::CtrlBAckResponseHeader::GetSerializedSize(), ns3::OcbWifiMac::GetSsid(), ns3::ByteTagIterator::Item::GetTag(), ns3::TestRunnerImpl::GetTopLevelSourceDir(), ns3::WimaxConnection::GetTypeStr(), ns3::GlobalValue::GetValue(), ns3::GlobalValue::GetValueByName(), ns3::XmlConfigSave::Global(), ns3::XmlConfigLoad::Global(), ns3::GlobalValue::GlobalValue(), ns3::RrFfMacScheduler::HarqProcessAvailability(), ns3::TtaFfMacScheduler::HarqProcessAvailability(), ns3::FdMtFfMacScheduler::HarqProcessAvailability(), ns3::TdMtFfMacScheduler::HarqProcessAvailability(), ns3::PfFfMacScheduler::HarqProcessAvailability(), ns3::FdBetFfMacScheduler::HarqProcessAvailability(), ns3::TdBetFfMacScheduler::HarqProcessAvailability(), ns3::TdTbfqFfMacScheduler::HarqProcessAvailability(), ns3::FdTbfqFfMacScheduler::HarqProcessAvailability(), ns3::PssFfMacScheduler::HarqProcessAvailability(), ns3::EutranMeasurementMapping::IeValue2ActualA3Offset(), ns3::EutranMeasurementMapping::IeValue2ActualHysteresis(), ns3::EutranMeasurementMapping::IeValue2ActualQQualMin(), ns3::EutranMeasurementMapping::IeValue2ActualQRxLevMin(), ns3::dot11s::PeerManagementProtocol::InitiateLink(), ns3::Wifi80211pHelper::Install(), ns3::RadioEnvironmentMapHelper::Install(), ns3::InternetStackHelper::Install(), ns3::MeshHelper::Install(), ns3::MobilityHelper::Install(), ns3::IpcsClassifierRecord::IpcsClassifierRecord(), ns3::Ipv4FlowProbe::Ipv4FlowProbe(), ns3::CtrlBAckResponseHeader::IsFragmentReceived(), ns3::EpsBearer::IsGbr(), ns3::CtrlBAckResponseHeader::IsPacketReceived(), ns3::olsr::RoutingProtocol::LinkSensing(), ns3::SystemMutexPrivate::Lock(), ns3::LogComponent::LogComponent(), ns3::LogComponentEnable(), ns3::ArpL3Protocol::Lookup(), ns3::LteEnbPhy::LteEnbPhy(), ns3::LteHandoverTargetTestCase::LteHandoverTargetTestCase(), ns3::LtePhy::LtePhy(), ns3::LteTestUePhy::LteTestUePhy(), ns3::LteUeMeasurementsHandoverTestCase::LteUeMeasurementsHandoverTestCase(), ns3::LteUeMeasurementsPiecewiseTestCase1::LteUeMeasurementsPiecewiseTestCase1(), ns3::LteUeMeasurementsPiecewiseTestCase2::LteUeMeasurementsPiecewiseTestCase2(), ns3::LteUePhy::LteUePhy(), main(), ns3::LteUeRrc::MeasurementReportTriggering(), ns3::Ipv6AddressHelper::NewAddress(), ns3::BlockAckManager::NotifyGotBlockAck(), ns3::WifiRadioEnergyModelPhyListener::NotifyMaybeCcaBusyStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndError(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndOk(), ns3::WifiRadioEnergyModelPhyListener::NotifyRxStart(), ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart(), ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart(), ns3::Ns2MobilityHelper::Ns2MobilityHelper(), ns3::NullMessageMpiInterface::NullMessageMpiInterface(), ns3::NullMessageSimulatorImpl::NullMessageSimulatorImpl(), ns3::operator<<(), ns3::operator>>(), ns3::OrganizationIdentifier::OrganizationIdentifier(), ns3::PcapSniffRxEvent(), ns3::PcapSniffTxEvent(), ns3::GnuplotHelper::PlotProbe(), ns3::PointToPointGridHelper::PointToPointGridHelper(), ns3::UeManager::PrepareHandover(), ns3::RrcAsn1Header::Print(), ns3::WifiMacHeader::Print(), ns3::CommandLine::PrintAttributes(), ns3::dot11s::HwmpProtocol::ProactivePathResolved(), ns3::SixLowPanNetDevice::ProcessFragment(), ns3::RealtimeSimulatorImpl::ProcessOneEvent(), readCordinatesFile(), ns3::SystemPath::ReadFiles(), readNxNMatrix(), ns3::EmuNetDevice::ReadThread(), ns3::flame::FlameProtocolMac::Receive(), ns3::RegularWifiMac::Receive(), ns3::dsr::DsrRouting::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::LteEnbPhy::ReceiveLteControlMessage(), ns3::LteUePhy::ReceiveLteControlMessageList(), ns3::LteEnbPhy::ReceiveLteControlMessageList(), ns3::GrantedTimeWindowMpiInterface::ReceiveMessages(), ns3::MacLow::ReceiveOk(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), ns3::AnimationInterface::RecursiveIpv4RoutePathSearch(), ns3::UeManager::RecvHandoverPreparationFailure(), ns3::LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback(), ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), ns3::UeManager::RecvRrcConnectionReestablishmentRequest(), ns3::UeManager::RecvRrcConnectionRequest(), ns3::UeManager::RecvRrcConnectionSetupCompleted(), ns3::RrFfMacScheduler::RefreshHarqProcesses(), ns3::TtaFfMacScheduler::RefreshHarqProcesses(), ns3::FdMtFfMacScheduler::RefreshHarqProcesses(), ns3::TdMtFfMacScheduler::RefreshHarqProcesses(), ns3::PfFfMacScheduler::RefreshHarqProcesses(), ns3::FdBetFfMacScheduler::RefreshHarqProcesses(), ns3::TdBetFfMacScheduler::RefreshHarqProcesses(), ns3::TdTbfqFfMacScheduler::RefreshHarqProcesses(), ns3::FdTbfqFfMacScheduler::RefreshHarqProcesses(), ns3::PssFfMacScheduler::RefreshHarqProcesses(), ns3::Ipv6L3Protocol::RemoveAutoconfiguredAddress(), ns3::PacketMetadata::RemoveHeader(), ns3::LteAnr::RemoveNeighbourRelation(), ns3::dot11s::HwmpProtocol::RemoveRoutingStuff(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), ns3::PacketMetadata::RemoveTrailer(), ns3::dot11s::HwmpProtocol::RequestRoute(), ns3::flame::FlameProtocol::RequestRoute(), ns3::dsr::DsrOptions::ReverseSearchNextTwoHop(), ns3::RngStream::RngStream(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::olsr::RoutingProtocol::RouteOutput(), ns3::UanMacRc::RtsTimeout(), Experiment::Run(), RoutingExperiment::Run(), ns3::FdReader::Run(), ns3::DistributedSimulatorImpl::Run(), ns3::SameRoomPositionAllocator::SameRoomPositionAllocator(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::Timer::Schedule(), ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded(), ns3::UanMacRc::ScheduleData(), ns3::UeManager::ScheduleRrcConnectionReconfiguration(), ns3::WifiModeFactory::Search(), ns3::Ipv4L3Protocol::Send(), ns3::TapBridge::Send(), ns3::MacLow::SendBlockAckAfterBlockAckRequest(), ns3::EdcaTxopN::SendBlockAckRequest(), ns3::MacLow::SendBlockAckResponse(), ns3::UeManager::SendData(), ns3::LteNetDevice::SendFrom(), ns3::EmuNetDevice::SendFrom(), ns3::TapBridge::SendFrom(), ns3::olsr::RoutingProtocol::SendHello(), ns3::MeshWifiInterfaceMac::SendManagementFrame(), ns3::LteUeRrc::SendMeasurementReport(), ns3::GrantedTimeWindowMpiInterface::SendPacket(), ns3::TcpL4Protocol::SendPacket(), ns3::UeManager::SendUeContextRelease(), ns3::CtrlBAckRequestHeader::Serialize(), ns3::CtrlBAckResponseHeader::Serialize(), ns3::CtrlBAckResponseHeader::SerializeBitmap(), ns3::EnumValue::SerializeToString(), TcpTestCase::ServerHandleRecv(), ns3::Ns3NscStack::Set(), ns3::ObjectFactory::Set(), ns3::TimerImpl::SetArgs(), ns3::Watchdog::SetArguments(), ns3::Timer::SetArguments(), ns3::ObjectBase::SetAttribute(), ns3::RadioEnvironmentMapHelper::SetBandwidth(), ns3::AnimationInterface::SetBoundary(), ns3::TapBridge::SetBridgedNetDevice(), ns3::OcbWifiMac::SetBssid(), ns3::EmuNetDevice::SetDataRate(), ns3::Config::SetDefault(), ns3::LteEnbNetDevice::SetDlBandwidth(), ns3::dsr::DsrRouting::SetDownTarget6(), ns3::EmuFdNetDeviceHelper::SetFileDescriptor(), ns3::XmlConfigSave::SetFilename(), ns3::Simulator::SetImplementation(), ns3::AcousticModemEnergyModel::SetMicroModemState(), ns3::EmuNetDevice::SetMtu(), ns3::AnimationInterface::SetNodeColor(), ns3::AnimationInterface::SetNodeDescription(), ns3::NscTcpL4Protocol::SetNscLibrary(), ns3::AnimationInterface::SetOutputFile(), ns3::CtrlBAckResponseHeader::SetReceivedFragment(), ns3::CtrlBAckResponseHeader::SetReceivedPacket(), ns3::AnimationInterface::SetRoutingOutputFile(), ns3::LteEnbRrc::SetSrsPeriodicity(), ns3::MeshHelper::SetStackInstaller(), ns3::Wifi80211pHelper::SetStandard(), ns3::CtrlBAckRequestHeader::SetType(), ns3::NqosWaveMacHelper::SetType(), ns3::QosWaveMacHelper::SetType(), ns3::CtrlBAckResponseHeader::SetType(), ns3::LteEnbNetDevice::SetUlBandwidth(), ns3::TcpSocketBase::SetupEndpoint(), ns3::TcpSocketBase::SetupEndpoint6(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), ns3::UplinkSchedulerRtps::SetupServiceFlow(), TcpTestCase::SourceHandleRecv(), ns3::FdReader::Start(), ns3::UdpEchoServer::StartApplication(), ns3::PacketSink::StartApplication(), ns3::BulkSendApplication::StartApplication(), ns3::EmuNetDevice::StartDevice(), ns3::LteSpectrumPhy::StartRxCtrl(), ns3::LteSpectrumPhy::StartRxData(), ns3::LteEnbPhy::StartSubFrame(), ns3::LteSpectrumPhy::StartTxDataFrame(), ns3::LteSpectrumPhy::StartTxDlCtrlFrame(), ns3::LteSpectrumPhy::StartTxUlSrsFrame(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::WifiPhyStateHelper::SwitchToChannelSwitching(), ns3::WifiRadioEnergyModelPhyListener::SwitchToIdle(), ns3::WifiPhyStateHelper::SwitchToRx(), ns3::UeManager::SwitchToState(), ns3::LteUeRrc::SwitchToState(), ns3::WifiPhyStateHelper::SwitchToTx(), ns3::GrantedTimeWindowMpiInterface::TestSendComplete(), ns3::AnimationInterface::TrackIpv4RoutePaths(), ns3::PointToPointRemoteChannel::TransmitStart(), ns3::UeManager::UeManager(), ns3::SystemMutexPrivate::Unlock(), ns3::RrFfMacScheduler::UpdateHarqProcessId(), ns3::FdMtFfMacScheduler::UpdateHarqProcessId(), ns3::TtaFfMacScheduler::UpdateHarqProcessId(), ns3::TdMtFfMacScheduler::UpdateHarqProcessId(), ns3::PfFfMacScheduler::UpdateHarqProcessId(), ns3::TdBetFfMacScheduler::UpdateHarqProcessId(), ns3::FdBetFfMacScheduler::UpdateHarqProcessId(), ns3::FdTbfqFfMacScheduler::UpdateHarqProcessId(), ns3::TdTbfqFfMacScheduler::UpdateHarqProcessId(), ns3::PssFfMacScheduler::UpdateHarqProcessId(), ns3::flame::FlameProtocolMac::UpdateOutcomingFrame(), ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame(), ns3::EmpiricalVariableImpl::Validate(), ns3::EmpiricalRandomVariable::Validate(), ns3::FileHelper::WriteProbe(), ns3::Timer::~Timer(), and ns3::XmlConfigSave::~XmlConfigSave().

#define NS_FATAL_ERROR_NO_MSG ( )
Value:
do \
{ \
std::cerr << "file=" << __FILE__ << ", line=" << \
__LINE__ << std::endl; \
std::terminate (); \
} \
while (false)
void FlushStreams(void)
Flush all currently registered streams.
Definition: fatal-impl.cc:116

fatal error handling

When this macro is hit at runtime, details of filename and line number is printed to stderr, and the program is halted by calling std::terminate(). This will trigger any clean up code registered by std::set_terminate (NS3 default is a stream-flushing code), but may be overridden.

This macro is enabled unconditionally in all builds, including debug and optimized builds.

Definition at line 44 of file fatal-error.h.

Referenced by ns3::OrganizationIdentifier::GetSerializedSize().

Function Documentation

void ns3::BreakpointFallback ( void  )

fallback breakpoint function

This function is used by the NS_BREAKPOINT() macro as a fallback for when breakpoint assembly instructions are not available. It attempts to halt program execution either by a raising SIGTRAP, on unix systems, or by dereferencing a null pointer.

Normally you should not call this function directly.

we test here to allow a debugger to change the value of the variable 'a' to allow the debugger to avoid the subsequent segfault.

Definition at line 46 of file breakpoint.cc.

References NS_LOG_FUNCTION.