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

看板Network_Sim作者 (oliwad)時間12年前 (2012/04/30 11:59), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
各位好 我在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

05/09 11:42, , 1F
請學習使用gdb除錯,如果是除以零這種錯誤導致的gdb會報
05/09 11:42, 1F

05/15 20:43, , 2F
我會再學習用gdb 只是不太懂 為什麼會說除以零
05/15 20:43, 2F

05/30 14:03, , 3F
除法x/y,當y=0時候值會爆掉,常常造成Seg. Fault
05/30 14:03, 3F
文章代碼(AID): #1FdWuoex (Network_Sim)
文章代碼(AID): #1FdWuoex (Network_Sim)