嵌入式调试方法:
1.模拟器。比如Qtopia Core可以用奇趣提供的Frame Buffer模拟工具qvfb,ARM硬件模拟可以用SkyEye开源项目。
2.远程调试。调试器还在PC上,调试器与被调试的程序通过网络通信。
3.通过LOG和Core Dump等文件事后分析。
大多数开发人员认为kgdb是最好的内核调试工具。Kgdb除了提供类似的printk函数的日志输出功能,还允许开发人员直接在pc上通过gdb链接目标设备。Kgdb包含了两部分:kgdb内核和一套连接接口。这些接口目前支持串口tty设备连接和以太网连接。其中串口连接需要通过内核参数kgdboc指定要连接的串口tty设备;以太网连接通过内核参数kgdboc指定ip和端口号。Kgdb支持多种处理器架构。。
linux内核调试一直被很多人认为是非常困难的。大多数人宁愿直接使用printk函数输出调试信息,也不愿意使用各种命令(gdb、gdbserver、kgdb等)进行调试。当发现某段代码的bug太多或很难printk函数输出信息找到,可以考虑使用kgdb用step by step的方式定位bug。