我有以下设置。尽管我的工作设置在 Windows 主机上处理 ARM 编译器 Real View Developer Suite (RVDS) 3.2,但对于任何主机上的任何其他 C 编译器来说,这种情况都是通用的。
我在 Windows 主机上使用 RVDS 3.2 编译器工具链构建了 C 代码的 ARM 库(静态库 - .a 文件)。然后,我将这个库与使用 Linux 主机上的 ARM-Linux 编译器工具链的应用程序链接,以获得 ARM 可执行文件。现在,当我尝试使用 gdb 在 Linux 上调试此生成的 ARM 可执行文件时,尝试在链接的库中存在的某个函数中放置断点,gdb 无法在此处放置断点,因为找不到源。所以我手动复制了所有用于在可执行文件所在的 Linux 文件夹中创建库的源文件 (*.c)。gdb 仍然无法设置断点。所以现在我开始思考:
如何通过在 gdb 中启动通过将此库链接到应用程序而生成的可执行文件,使用不同的编译器链在 Windows 上创建该库的源代码级调试。可能吗?我该怎么做?RVDS 编译器工具链中是否有任何编译器选项可启用此库源代码级调试?
我是否需要将源文件复制到 linux 中与这些源文件在 windows 中完全相同的文件夹结构中?