2013-02-21 53 views
0

在调试uboot时,步骤顺序不连续。 当我做下一步(N)在GDB提示它去其他一些意外的行。 我正在做目标和调试的NFS挂载。 请说明。调试uboot

谢谢, 苏里亚

回答

2

这是因为通常由GCC产生U-Boot的二进制已经针对大小进行了优化(以消耗更少的存储空间)。您可以构建U-Boot二进制文件而不进行优化,以便于调试。看一下U-Boot的Makefile并删除任何优化标志。 关于优化标志的信息可以在here找到。

对于宏和内联函数,步调试也不能很好地工作,因为代码实际上并没有放在定义这些宏的地方。

1

@ microMolvi的答案是正确的,你可以上的uboot源的顶层目录vim Makefile,并找到CFLAGS替换-O2(这是O不可0)由-O0,那么它的确定一步一步来。

顺便说一下,也许在GDB中使用s(step)会更好。