0

我正在使用 Xilinx SDK(构建在 Eclipse 之上)编写使用 FreeRTOS 构建的应用程序,该应用程序在 MicroBlze 软核处理器上运行,并且在尝试同时调试主要源代码和库源代码时遇到问题。当从主要来源调用时,我希望能够进入库中的函数。

以下是 Eclipse 中应用程序层次结构的片段。HYGRO_TEST 是我的主要功能所在。

在此处输入图像描述

我希望能够在调试我的主要功能时进入 /microblaze_0/lib 和 libsrc 中的库。通过调试视图在库的源文件中简单地放置断点会产生错误: 在此处输入图像描述

我的印象是,我尝试做的通常是通过调试配置完成,方法是添加一个新的源查找路径。我不确定如何做到这一点,因为添加源查找路径的唯一选项似乎是路径映射,但我不确定提供编译路径和文件系统路径的相对路径是否有任何效果。当我这样做时,错误仍然存​​在。

我在对该问题的研究中发现的另一个替代解决方案是将库的源目录添加为我的应用程序属性中的附加源位置,如下所示:

在此处输入图像描述

这会导致项目生成一些灾难性错误,因为这样做后没有生成二进制文件,它似乎删除了项目属性中库/库路径的当前配置,其他不良影响未知。

同样,期望的效果是能够单步执行从 main 调用的库函数。有没有办法告诉编译器包含库的调试信息?有些库是 .a 格式,有些只是 .h 和 .c 文件。理想情况下,我希望能够逐步浏览所有这些文件,但如果我可以只浏览 .h 和 .c 文件就足够了。

我使用的是系统调试器,而不是 GDB。

如果需要任何其他信息,请告诉我。

4

1 回答 1

1

通过更改包含库的项目的编译设置来解决。在 last_try bsp 配置中添加了 -O0 和 -g3。

在此处输入图像描述

于 2018-04-06T23:16:46.213 回答