vxworks下的问题定位及调试方法

vxworks是一种实时操作系统,单个CPU下只能有一个任务运行,系统有多任务运行时采用调度算法,将内核插入到某个任务中执行。任务是系统中独立,相互作用的程序单元。调度算法有:基于优先级抢占的任务调度、轮询调度。两者常常一起使用,优先级高的任务优先得到调度,同优先级时,采用轮询机制,如果不采用轮询调度,同优先级的任务间,第一个得到CPU的任务将独占CPU,会造成死循环等。 vxworks下的问题定位调试手段有: 1.异常情况下的调用栈信息查看,发生异常时,系统会记录异常指令。寄存器中会写入发生异常时的函数调用。 2. 内存dump,怀疑内存被改写的时候,打印相应的内存内容。 如,发生空指针,设备重启的时候,设备打印异常信息,提示空指针。然后在寄存器中查看函数调用关系。把.bin文件反汇编,把调用栈中的函数地址映射到代码中。 发生死循环等,也可以根据上述方法,定位问题。

你可能感兴趣的:(操作系统)