作者oliwad (oliwad)
看板Network_Sim
標題[問題] 產生新的agent後傳送訊息出現Seg fault
時間Mon Apr 30 11:59:44 2012
各位好
我在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
希望各位各位可以給我一些建議
感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.26.85
推 cassine:請學習使用gdb除錯,如果是除以零這種錯誤導致的gdb會報 05/09 11:42
→ oliwad:我會再學習用gdb 只是不太懂 為什麼會說除以零 05/15 20:43
推 cassine:除法x/y,當y=0時候值會爆掉,常常造成Seg. Fault 05/30 14:03