RTOS Awareness Debugging
LinuxView 支持 uClinux, Embedded Linux awareness Debugging, 可以透视内核的各种状态 ( System Pane,Task Pane,Queue Pane,Mailbox Pane,Event Flags Pane,Semaphore Pane,Memory Pane,Mutex Pane )支持应用的任务级和线程级调试,包括设断点,观察进程及线程内函数及模块的变量;起停某个线程及线程间的切换关系。这是调试基于 Linux 应用程序的必备开发工具,此功能起到真正透视内核的作用,否则,无法知道 Linux 的各个任务的运行状态。




Embedded Linux & uClinux 多线程调试信息
支持 Linuxpthread 线程库 .
察看线程的信息 -- 堆栈,寄存器
对单个线程进行调试操作 ,step, resume, stop 等
对所有线程同时进行调试操作
调试可加载的内核模块 (Embedded Linux Modules debugging)-LinuxView
支持多种模块加载工具,如 Modutils and Busybox,支持完全源代码级调试,并可实现动态加载和移除调试信息.同时调试多个相互关联或无关的内核模块 ,以及使用这些模块的应用程序调试。


Debugging Linux Shared Library –LinuxView 支持调试动态链接库
Ld-linux.so共享库链接器 ,共享库的依赖关系,共享库的搜索路径,共享库断点的处理等。
应用程序调试过程:
首先,运行开发板上的uClinux系统,配置开发板的IP,命令如下图所示。

配置完成后,运行MDB程序,如下图。其中 9999参数是所使用的端口号,&代表后台运行。

运行System Configuration for ARM程序,进行配置。协议一栏中,选择MDB。IPAddress是与target server通信的主机,一般可不填,默认为本机。


接下来,运行Target Server程序。填写开发板IP,端口号。


设置完毕后,超级终端显示如下:

现在就可以运行JEDIview来调试应用程序。下图为 uClinux 应用调试系统信息
图中我们可以看出,uClinux现在加载的一些进程,其中lcd2程序是我们要调试得进程。可以看到它的运行状态,进程号,内存分配等信息。

在左侧的窗口中,我们可以找到所调试程序的符号信息表,双机它,可以看到相应的源程序。


上面就是调试嵌入式uClinux应用的调试过程。