首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codewarrior调试器在将一些代码和数据编译到新的ELF节后不显示C源代码

Codewarrior调试器在将一些代码和数据编译到新的ELF节后不显示C源代码
EN

Stack Overflow用户
提问于 2013-06-18 08:36:42
回答 2查看 541关注 0票数 0

在我们的项目中,我们正在构建一个ELF文件和一个部分链接文件(PLF),该文件在ELF加载后转换为专有格式并加载到内存中。我们使用Codewarrior来运行和调试,它工作得很好( C++源代码在调试时总是可以单步执行的)。

我最近做了一个改变,一些代码和数据被编译到PLF文件中的不同部分(.init,以前是空的)。现在,在调试时,大多数文件只能在汇编程序中使用。当我重新构建时,不再使用.init,我们可以再次单步执行C++源代码。

有人知道为什么会这样吗?

EN

回答 2

Stack Overflow用户

发布于 2013-06-23 04:42:47

为什么会出现这种情况

一个原因可能是codewarrior不希望在.init部分中找到代码。

你不太可能在这里得到一个好的答案。试试codewarrior支持论坛。

票数 0
EN

Stack Overflow用户

发布于 2013-06-28 07:48:23

我通过使用链接器命令文件(.lcf)交换节的顺序来实现这一点,这样.init节排在.text之后。我猜,正如受雇于俄罗斯人所暗示的那样,CodeWarrior对用.init编写代码和丢弃代码感到惊讶。更改部分的顺序似乎没有不良影响,现在调试工作再次按预期进行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17158965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档