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.
#define NS_ABORT_MSG(msg)
 Abnormal program termination.
#define NS_ABORT_MSG_IF(cond, msg)
 Abnormal program termination if cond is true.
#define NS_ABORT_MSG_UNLESS(cond, msg)   NS_ABORT_MSG_IF (!(cond),msg)
 Abnormal program termination if cond is false.
#define NS_ABORT_UNLESS(cond)   NS_ABORT_IF (!(cond))
 Abnormal program termination if cond is false.
#define NS_BREAKPOINT()   ns3::BreakpointFallback ()
#define NS_FATAL_ERROR(msg)
 fatal error handling
#define NS_FATAL_ERROR_NO_MSG()
 fatal error handling

Detailed Description

Macro Definition Documentation

#define NS_ABORT_IF (   cond)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << ", "; \
NS_FATAL_ERROR_NO_MSG (); \
} \
} while (false)

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::EpcSgwPgwApplication::ActivateS1Bearer(), ns3::EpcTft::Add(), ns3::LteEpcE2eDataTestCase::DoRun(), ns3::UeInfo::GetRadioBearer(), ns3::LteEnbRrc::GetUeInfo(), 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. "; \
NS_FATAL_ERROR (msg); \
} while (false)

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::ConfigStore::ConfigStore(), ns3::RedQueue::GetQueueSize(), main(), ns3::operator<<(), ns3::PcapSniffRxEvent(), ns3::PcapSniffTxEvent(), PerfFile(), ns3::YansWifiPhyHelper::SetPcapDataLinkType(), and ns3::Time::Time().

#define NS_ABORT_MSG_IF (   cond,
  msg 
)
Value:
do { \
if (cond) \
{ \
std::cerr << "aborted. cond=\"" << # cond << "\", "; \
NS_FATAL_ERROR (msg); \
} \
} while (false)

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::TapBridge::CreateTap(), ns3::GlobalRouter::DiscoverLSAs(), ns3::TapBridgeFdReader::DoRead(), ns3::LteEnbNetDevice::DoStart(), ns3::AsciiTraceHelperForDevice::EnableAsciiImpl(), ns3::PcapHelperForDevice::EnablePcap(), ns3::YansWifiPhyHelper::EnablePcapInternal(), ns3::SystemWallClockMsPrivate::End(), ns3::RadioEnvironmentMapHelper::Install(), 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(), 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::TcpNewReno::SetSegSize(), ns3::TcpReno::SetSegSize(), ns3::TcpTahoe::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 << "\", "; \
NS_FATAL_ERROR_NO_MSG (); \
} \
while (false)

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::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::Ipv6AddressGeneratorImpl::AddAllocated(), anonymous_namespace{type-id.cc}::IidManager::AddAttribute(), ns3::Ipv6L3Protocol::AddAutoconfiguredAddress(), ns3::BridgeNetDevice::AddBridgePort(), ns3::ConnectionManager::AddConnection(), anonymous_namespace{type-id.cc}::IidManager::AddConstructor(), ns3::CsmaNetDevice::AddHeader(), ns3::MeshPointDevice::AddInterface(), ns3::WimaxNetDevice::AddLinkChangeCallback(), ns3::NixVector::AddNeighborIndex(), ns3::TestCase::AddTestCase(), anonymous_namespace{type-id.cc}::IidManager::AddTraceSource(), ns3::Object::AggregateObject(), ns3::CidFactory::Allocate(), anonymous_namespace{type-id.cc}::IidManager::AllocateUid(), ns3::XmlConfigSave::Attributes(), ns3::XmlConfigLoad::Attributes(), ns3::GlobalValue::Bind(), ns3::Building::Building(), ns3::BandwidthManager::CalculateAllocationSize(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::AcousticModemEnergyModel::ChangeState(), ns3::WifiRadioEnergyModel::ChangeState(), ns3::CheckEnvironmentVariables(), ns3::WifiMac::ConfigureCCHDcf(), ns3::WifiMac::ConfigureDcf(), ns3::SocketWriter::Connect(), ns3::WimaxHelper::CreateBSScheduler(), ns3::ConnectionManager::CreateConnection(), ns3::TestCase::CreateDataDirFilename(), 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::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::MpiInterface::Disable(), ns3::DistributedSimulatorImpl::DistributedSimulatorImpl(), ns3::Callback< void, Ptr< const PacketBurst >, empty, empty, empty, empty, empty, empty, empty >::DoAssign(), ns3::AcousticModemEnergyModel::DoGetCurrentA(), ns3::WifiRadioEnergyModel::DoGetCurrentA(), ns3::SimpleOfdmWimaxPhy::DoGetDataRate(), ns3::SimpleOfdmWimaxChannel::DoGetDevice(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDuration(), ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor(), ns3::BasicEnergySourceHelper::DoInstall(), ns3::RvBatteryModelHelper::DoInstall(), ns3::AcousticModemEnergyModelHelper::DoInstall(), ns3::WifiRadioEnergyModelHelper::DoInstall(), ns3::LteUeRrc::DoLcConfigCompleted(), ns3::LteEnbRrc::DoNotifyLcConfigResult(), ns3::BaseStationNetDevice::DoReceive(), ns3::SubscriberStationNetDevice::DoReceive(), ns3::LteEnbMac::DoReconfigureLc(), ns3::LteEnbMac::DoReleaseLc(), ns3::LenaMimoTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), ns3::LteEnbMac::DoSchedDlConfigInd(), ns3::RrFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::olsr::RoutingProtocol::DoStart(), ns3::Ipv4FlowProbe::DropLogger(), ns3::MpiInterface::Enable(), ns3::UanMacCw::EndTx(), ns3::RegularWifiMac::Enqueue(), ns3::BlockAckManager::ExistsAgreementInState(), ns3::NixVector::ExtractNeighborIndex(), ns3::BlockAckCache::FillBlockAckBitmap(), ns3::PyViz::FilterPacket(), ns3::FindCellIdFromEnbRlcPath(), ns3::Ipv4FlowClassifier::FindFlow(), ns3::FindImsiFromEnbRlcPath(), ns3::FindImsiFromUeRlcPath(), ns3::GlobalRouteManagerImpl::FindOutgoingInterfaceId(), ns3::SystemPath::FindSelfDirectory(), ns3::RegularWifiMac::FinishConfigureStandard(), ns3::EmuNetDevice::ForwardUp(), ns3::CidFactory::FreeCid(), ns3::WifiActionHeader::GetAction(), ns3::ObjectBase::GetAttribute(), ns3::BurstProfileManager::GetBurstProfile(), ns3::WifiActionHeader::GetCategory(), ns3::EmuNetDevice::GetChannel(), ns3::LteSpectrumValueHelper::GetChannelBandwidth(), ns3::SimpleOfdmWimaxPhy::GetCodedFecBlockSize(), ns3::ConnectionManager::GetConnections(), anonymous_namespace{type-id.cc}::IidManager::GetConstructor(), ns3::WifiRemoteStationManager::GetControlAnswerMode(), ns3::WifiPhyStateHelper::GetDelayUntilIdle(), 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::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::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::dot11s::PeerManagementProtocol::InitiateLink(), 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::LtePhy::LtePhy(), ns3::LteTestUePhy::LteTestUePhy(), ns3::LteUeNetDevice::LteUeNetDevice(), ns3::LteUePhy::LteUePhy(), main(), 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::operator<<(), ns3::operator>>(), ns3::PcapSniffRxEvent(), ns3::PcapSniffTxEvent(), ns3::PointToPointGridHelper::PointToPointGridHelper(), ns3::WifiMacHeader::Print(), ns3::CommandLine::PrintAttributes(), ns3::dot11s::HwmpProtocol::ProactivePathResolved(), ns3::RealtimeSimulatorImpl::ProcessOneEvent(), ns3::SystemPath::ReadFiles(), ns3::EmuNetDevice::ReadThread(), ns3::flame::FlameProtocolMac::Receive(), ns3::RegularWifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::LteUePhy::ReceiveIdealControlMessage(), ns3::MpiInterface::ReceiveMessages(), ns3::MacLow::ReceiveOk(), ns3::UanMacRc::ReceiveOkFromPhy(), ns3::UanMacRcGw::ReceivePacket(), ns3::LteUeRrc::ReleaseRadioBearer(), ns3::PacketMetadata::RemoveHeader(), ns3::dot11s::HwmpProtocol::RemoveRoutingStuff(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), ns3::PacketMetadata::RemoveTrailer(), ns3::LteEnbRrc::RemoveUe(), ns3::dot11s::HwmpProtocol::RequestRoute(), ns3::flame::FlameProtocol::RequestRoute(), ns3::RngStream::RngStream(), ns3::olsr::RoutingProtocol::RouteInput(), ns3::olsr::RoutingProtocol::RouteOutput(), ns3::UanMacRc::RtsTimeout(), Experiment::Run(), ns3::FdReader::Run(), ns3::DistributedSimulatorImpl::Run(), ns3::SameRoomPositionAllocator::SameRoomPositionAllocator(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::Timer::Schedule(), ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded(), ns3::UanMacRc::ScheduleData(), ns3::WifiModeFactory::Search(), ns3::Ipv4L3Protocol::Send(), ns3::TapBridge::Send(), ns3::MacLow::SendBlockAckAfterBlockAckRequest(), ns3::EdcaTxopN::SendBlockAckRequest(), ns3::MacLow::SendBlockAckResponse(), ns3::LteNetDevice::SendFrom(), ns3::EmuNetDevice::SendFrom(), ns3::TapBridge::SendFrom(), ns3::olsr::RoutingProtocol::SendHello(), ns3::MeshWifiInterfaceMac::SendManagementFrame(), ns3::MpiInterface::SendPacket(), ns3::TcpL4Protocol::SendPacket(), ns3::CtrlBAckRequestHeader::Serialize(), ns3::CtrlBAckResponseHeader::Serialize(), ns3::CtrlBAckResponseHeader::SerializeBitmap(), ns3::EnumValue::SerializeToString(), ns3::TcpTestCase::ServerHandleRecv(), ns3::Ns3NscStack::Set(), ns3::ObjectFactory::Set(), ns3::TimerImpl::SetArgs(), ns3::Watchdog::SetArguments(), ns3::Timer::SetArguments(), ns3::ObjectBase::SetAttribute(), ns3::RadioEnvironmentMapHelper::SetBandwidth(), ns3::TapBridge::SetBridgedNetDevice(), ns3::EmuNetDevice::SetDataRate(), ns3::Config::SetDefault(), ns3::LteEnbNetDevice::SetDlBandwidth(), ns3::dsr::DsrRouting::SetDownTarget6(), 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::MeshHelper::SetStackInstaller(), ns3::CtrlBAckRequestHeader::SetType(), ns3::CtrlBAckResponseHeader::SetType(), ns3::LteEnbNetDevice::SetUlBandwidth(), ns3::TcpSocketBase::SetupEndpoint(), ns3::TcpSocketBase::SetupEndpoint6(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), ns3::UplinkSchedulerRtps::SetupServiceFlow(), ns3::TcpTestCase::SourceHandleRecv(), ns3::FdReader::Start(), ns3::UdpEchoServer::StartApplication(), ns3::BulkSendApplication::StartApplication(), ns3::PacketSink::StartApplication(), ns3::EmuNetDevice::StartDevice(), ns3::LteSpectrumPhy::StartRx(), ns3::LteSpectrumPhy::StartTx(), BasicEnergyUpdateTest::StateSwitchTest(), ns3::WifiPhyStateHelper::SwitchToChannelSwitching(), ns3::WifiRadioEnergyModelPhyListener::SwitchToIdle(), ns3::WifiPhyStateHelper::SwitchToRx(), ns3::WifiPhyStateHelper::SwitchToTx(), ns3::MpiInterface::TestSendComplete(), ns3::PointToPointRemoteChannel::TransmitStart(), ns3::SystemMutexPrivate::Unlock(), ns3::flame::FlameProtocolMac::UpdateOutcomingFrame(), ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame(), ns3::EmpiricalVariableImpl::Validate(), ns3::EmpiricalRandomVariable::Validate(), 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)

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.