我已经在 Linux 主机上安装了 Eclipse CDT、CodeSourcery G++ 工具链。我正在使用 Code Sourcery Eclipse IDE。我已经使用飞思卡尔网站上的 Linux Target Image Builder 将 Linux 内核安装到了 MCF5485 板上。
我使用 Sourcery Eclipse IDE 在我的 Linux 主机上创建了一个“helloworld”项目。我已将 Sourcery 文件夹中的可执行文件(如 gdbserver、catchsgev 等)复制到根文件系统中的板上。
我在板上运行 gdbserver,然后使用我的 Linux 机器上的 TCP 进行调试。在 Sourcery Eclipse IDE 中,我在目标上指定了 sysroot,/
因为我已经在板上的根目录中安装了 gdbserver ( /root/bin
)。
我已经在 Eclipse 的调试配置中指定了 IP 地址,而 rest 是默认的。我在调试配置的共享库选项卡中选择了选项“翻译 sysroot 路径名”
我在板载 ( gdbserver IP:port /pathname/to/executable
) 上启动 gdbsrver,然后在 Linux 主机上启动调试配置。main()
它因为断点而停止。当我按恢复时,它给了我以下错误。
warning: .dynamic section for "C:\\Program Files\\CodeSourcery\\Sourcery G++\\m68k-linux-gnu\\libc/lib/libc.so.6" is not at the expected address (wrong library or version mismatch?)
Stopped due to shared library event
Stopped due to shared library event
Stopped due to shared library event
我的程序如下:
include <stdio.h>
int main(void)
{
int i=0;
printf("Hello = %d",i);
return 0;
}
我在一些论坛上读到我需要设置 sysroot,但我也读到如果我在板上的根文件系统中安装了 sysroot,我不需要做任何事情。