[問題] 產生新的agent後傳送訊息出現Seg fault

作者: oliwad (oliwad)   2012-04-30 11:59:44
各位好
我在ns2定義了一個新個agent稱為bdagent
裡面我定義了傳送的function叫做sendboadcastmsg
這個function會broadcast訊息給其他的node
這個function會用到Agent::send(pkt,0)這個指令
(pkt是我要送出的封包的指標)
執行到這裡的時候出現Segmenation Fault
我trace了一下code發現Agent::send()這個function定義成{target_->recv()}
我嘗試將target_在程式執行的時候將其printf出來
發現其值為0
不知道是否是這個原因導致了Segmentation Fault
或者有其他原因呢
以下我提供我的code的連結
新的agent(bdagent)的封包標頭定義在bbcast-packet.h和cc檔中
我的bdagent定義於bdagent.h和cc檔中
kdc.tcl是我的tcl檔
每個檔用分隔線=======區隔開來
http://codepad.org/20V7a4yH
希望各位各位可以給我一些建議
感恩
作者: cassine (Savannah)   2012-05-09 11:42:00
請學習使用gdb除錯,如果是除以零這種錯誤導致的gdb會報
作者: oliwad (oliwad)   2012-05-15 20:43:00
我會再學習用gdb 只是不太懂 為什麼會說除以零
作者: cassine (Savannah)   2012-05-30 14:03:00
除法x/y,當y=0時候值會爆掉,常常造成Seg. Fault

Links booklink

Contact Us: admin [ a t ] ucptt.com