【发布时间】:2010-11-13 03:10:01
【问题描述】:
我在 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,我不需要做任何事情。
【问题讨论】:
标签: debugging embedded shared-libraries eclipse-cdt