2012-05-08 3 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