我可以在VxWorks中显示所有系统对象(信号灯,队列...)的列表吗?

时间:2020-03-06 14:19:51  来源:igfitidea点击:

我想知道在我的vxWorks 6.x系统中哪些信号灯,messageQueues等处于活动状态。我可以通过调试器访问此信息,但是我想从外壳程序访问它。

有办法吗?

解决方案

VxWorks 6.x提供了一个名为classShow()的函数,该函数将列出特定类的所有对象(例如,信号量,消息队列,任务等)。
以下调用将为我们提供给定类的对象列表:

classShow(objClassIdGet(classId), 1) 

The classId types are:
  1  windSemClass,       /* Wind native semaphore */
  2  windSemPxClass,     /* POSIX semaphore */
  3  windMsgQClass,      /* Wind native message queue */
  4  windMqPxClass,      /* POSIX message queue */
  5  windRtpClass,       /* real time process */
  6  windTaskClass,      /* task */
  7  windWdClass,        /* watchdog */
  8  windFdClass,        /* file descriptor */
  9  windPgPoolClass,    /* page pool */
  10 windPgMgrClass,     /* page manager */
  11 windGrpClass,       /* group */
  12 windVmContextClass, /* virtual memory context */
  13 windTrgClass,       /* trigger */
  14 windMemPartClass,   /* memory partition */
  15 windI2oClass,       /* I2O */
  16 windDmsClass,       /* device management system */
  17 windSetClass,       /* Set */
  18 windIsrClass,       /* ISR object */
  19 windTimerClass,     /* Timer services */
  20 windSdClass,        /* Shared data region */
  21 windPxTraceClass,   /* POSIX trace */