我正在使用Xilinx (构建在Eclipse之上)来编写一个使用运行在FreeRTOS软核处理器上的MicroBlze构建的应用程序,并且在同时调试主源代码和库源代码时遇到了问题。我希望能够逐步进入库中的函数,当称为主源时。
下面是应用程序在eclipse中继承的片段。HYGRO_TEST是我的主要功能所在。

在调试我的主要函数时,我希望能够进入/microblaze_0/lib和libsrc中的库。通过调试视图在库源文件中放置一个断点会产生以下错误:

我的印象是,我所做的工作通常是通过调试配置来完成的,方法是添加一个新的源查找路径。我不知道如何实现这一点,因为添加源查找路径的唯一选项似乎是path映射,但我不确定提供编译和文件系统路径的相对路径是否有任何影响。当我这样做时,错误仍然存在。
我在研究这个问题时发现的另一个解决方案是将库的源目录添加为应用程序属性中的附加源位置:

这会导致项目产生一些灾难性的错误,因为这样做后不会生成二进制文件,它似乎删除了项目属性中库/库路径的当前配置,其他不想要的效果是未知的。
同样,所期望的效果是能够逐步完成从main调用的库函数。有没有一种方法可以告诉编译器包含lib的调试信息?有些库是.a格式的,有些只是.h和.c文件。理想情况下,我希望能够逐步完成所有这些文件,但是如果我能够只通过.h和.c文件,那就足够了。
我使用的是系统调试器,而不是GDB。
如果需要更多的信息,请告诉我。
发布于 2018-04-06 23:16:46
通过更改包含库的项目的编译设置解决问题。将-O0和-g3添加到last_try bsp配置中。

https://stackoverflow.com/questions/49687191
复制相似问题