Deep Thinking

思考的深度是由提问的水平决定的

opnet调试之结构错误

lmz:
截图中命令不准,但显示信息是正确的。

人为制造错误

可用的包交换网络中的外围节点的proc进程:

这里写图片描述

将其中的xmt()函数修改为:

static void xmt(void)
        {
        Packet * pkptr;
        FIN(xmt());
        pkptr = op_pk_get (RCV_IN_STRM);  //以前的参数是 SRC_IN_STRM
        op_pk_nfd_set_int32 (pkptr, "dest_address",
            (int)op_dist_outcome (address_dist));
        op_pk_send (pkptr, XMT_OUT_STRM);
        FOUT;
        } 

直接运行仿真

message

Beginning simulation of lmz_pksw_net-baseline at 22:23:35 Tue Jan 03 2017
----
Kernel: development (not optimized), sequential, 32-bit address space
----
<<< Program Abort >>>
Packet pointer is NIL.
T (10), EV (13), MOD (top.pksw1.node_0.proc), KP (op_pk_nfd_set_int32)

----

error_log

<<< Program Abort >>>
  * Time:      22:25:26 Tue Jan 03 2017
  * Product:   modeler (32-bit)
  * Program:   op_runsim (Version 14.5.A PL1 Build 7116 32-bit)
  * System:    Windows NT 6.2 Build 9200
  * Package:   process (lmz_pksw_nd_proc) at module (top.pksw1.node_0.proc)
  * Function:  sim_err_pk_access
  * Error:     Packet pointer is NIL.
               T (10), EV (13), MOD (top.pksw1.node_0.proc), KP (op_pk_nfd_set_int32)

  * Function call stack: (builds down)
    ------------------------------------------------------------
             Call   Block
             Count  Line#  Function
    ------------------------------------------------------------
     0)          1    152  0x2a286c00 [name not available]
     1)          1   2211  0x00004c00 [name not available]
     2)          1   1358  0x0000c400 [name not available]
     3)          1    399  m3_main
     4)          1   1074  sim_main
     5)          1   2894  sim_ev_loop
     6)          1    384  sim_strm_insert
     7)         14    910  sim_obj_qps_intrpt
     8)          5    140  lmz_pksw_nd_proc [idle -> idle : SRC_ARRVL / xmt()]
     9)          1     78  xmt()
    10)          1   8097  op_pk_nfd_set_int32 (pkptr, fd_name, value)
    11)          1  14455  sim_pk_nfd_set_check_args
    12)          1   4811  sim_err_pk_access
    ------------------------------------------------------------

最重点的信息是出错在事件13执行之前:

T (10), EV (13), MOD (top.pksw1.node_0.proc), KP (op_pk_nfd_set_int32)

打开ODB

evstop 13

将仿真停止在事件13执行之前

continue

fulltrace

为了观察中间执行的代码,启动完全跟踪

status

查看已经设定的中断以及其他信息

next

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

tags:opnet

阅读更多
版权声明:转载请注明出处 https://blog.csdn.net/Ricardo1991/article/details/53999013
文章标签: opnet
个人分类: opnet调试
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭