opnet調試之邏輯錯誤

lmz:
邏輯錯誤不會顯示錯誤信息,解決邏輯錯誤的方法就是試圖從封包的生成、傳輸、接收、銷燬的過程中發現錯誤。

人爲製造錯誤

可用包交換網絡的hub進程

這裏寫圖片描述

修改其中的代碼

static void route_pk(void)
        {
        int dest_address = 0 ;          //以前沒有賦值
        Packet * pkptr;
        FIN(route_pk());
        pkptr = op_pk_get(op_intrpt_strm ());
        op_pk_nfd_set_int32 (pkptr, "dest_address",  //以前是 get
            dest_address);
        op_pk_send (pkptr, dest_address);
        FOUT;
        } 

打開ODB

pktrace 1

pkstop 1

任何涉及到此封包的事件仿真都會停下來

continue …

可以發現錯誤:
在hub接收到封包後,不是set包域,而是get包域。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

發佈了91 篇原創文章 · 獲贊 13 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章