gpt4 book ai didi

链接器脚本 : strategies for debugging?

转载 作者:行者123 更新时间:2023-12-03 20:52:34 26 4
gpt4 key购买 nike

我正在尝试调试我在编写内核时遇到的链接器问题。

问题是我有一个变量 SCAN_CODE_MAPPING我无法使用 - 它似乎是空的或其他东西。我可以通过改变我链接程序的方式来解决这个问题,但我不知道为什么。

当我使用 objdump 查看生成的二进制文件时,变量的数据肯定在那里,所以对它的引用只是破坏了一些东西。

Here's a gist使用链接描述文件和符号表中两个文件不同的部分。

让我感到困惑的是,两个符号表都具有相同的符号,它们的长度都相同,而且它们似乎包含正确的数据。我能看到的唯一区别是它们的顺序不同。

到目前为止我已经尝试过

  • 检查 SCAN_CODE_MAPPING内存位置以确保它具有我期望的数据并且没有被清零
  • 检查所有符号是否相同
  • 检查所有符号内容的长度是否相同
  • 看着 .data.rel.ro.local确保它具有数据地址

  • 一个可能的线索是这个警告:

    warning: uninitialized space declared in non-BSS section `.text': zeroing

    我在损坏和正确的情况下都得到了它。

    我接下来应该尝试什么?

    最佳答案

    这里的问题原来是我正在编写一个操作系统,并且只有 12k 被加载而不是整个事情。所以链接器脚本实际上工作正常。

    我用来理解二进制文件的主要工具是:

  • 纳米
  • objdump
  • 阅读
  • 关于链接器脚本 : strategies for debugging?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20526765/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com