2012-05-08 108 views
0

我爲ns3創建了一個新的應用程序,它似乎運行正常,但是,在執行幾秒鐘後(正確接收很多數據包之後),出現以下錯誤:ns3 buffer.h聲明失敗

斷言失敗。 cond =「m_current + delta < = m_dataEnd」,file =。/ ns3/buffer.h,line = 678

任何想法是什麼導致了這個錯誤,以及如何繞過/糾正它?

回答

1

這只是一個假設,但似乎你有一個緩衝區溢出,即當前大小超過了它的最大大小。也許你可以清除緩衝區或增加其大小。正如消息告訴你的,錯誤發生在buffer.h文件的第678行。你可以看看這個位置有一個想法,哪個操作導致斷言,也許這可以幫助你找出你必須做什麼來避免這個消息。

+0

感謝Thanx。我將應用程序數據包大小限制爲1450字節,似乎運行正常。看來,ns3不會碎片過大的數據包。我將嘗試在應用程序級別對數據包進行分段並查看是否可以解決問題。 – user000001