This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 在编辑器窗口中单步执行汇编器文件不起作用("没有可用的源...")

Guru**** 2564565 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1182157/stepping-through-assembler-files-in-editor-window-does-not-work-no-source-available-for

您好!

我使用 CCS 12.1.0在 Assembler 和 C 语言中开发 ARM SoC (AM64x)启动代码、因此我混合使用了*。S 和*。c 文件。 我的所有 C 和汇编器文件都使用"-g"和 "-gdwarf-3"进行编译/汇编。

我通常可以在"Editor"窗口和"Disassembly"窗口中单步执行 C 代码(有显示当前指令/行的"箭头")。 在"Disassembly"窗口中、我看到了与 C 代码混合的指令(我启用了"Show source")、这很好。

问题出在汇编器文件(*。S)。 我可以在映射文件中看到、所有调试段都是为*。S 文件(包括.debug_lines)生成的。 但是、在"Disassembly"窗口中、只有标签和原始指令、没有来自原始汇编器源的任何注释和白边。 编辑器窗口声称:"没有可用于<的源 ">"、并且有一个"Show Disassembly"按钮。 但是、我完全确定我的汇编器源的所有调试信息都在 ELF 文件中可用、因为当我在 编辑器窗口中打开任何汇编器文件时、我可以:

-设置断点(执行将在其停止)

- 使用"运行到线路"、"移动到线路"和"在线路上恢复"

但是 、没有显示任何汇编器文件中当前执行行的"箭头"(适用于 C 代码的内容)。

我知道、单步执行原始汇编程序源是所有调试器/IDE (迄今为止我一直在使用)都具有的一项功能 、包括 GDB。 但是、由于某种原因、CCS 不允许这样做。 现在的问题是:这是一个错误吗? 是否有可启用的隐藏选项? 它是否是底层 Eclipse 的限制?

下面的屏幕截图。

请就此问题提供任何意见。

谢谢、

Sylwester

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sylwester、

    [引用 userid="547524" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1182157/stepping-through-assembler-files-in-editor-window-does-not-work-no-source-available-for。]我知道单步执行原始汇编器源代码是所有调试器/IDE (我目前使用过)具有的功能、 包括 GDB。 但是、由于某种原因、CCS 不允许这样做。 现在的问题是:这是一个错误吗? 是否有可启用的隐藏选项? 它是否是基础 Eclipse 的限制?

    CCS 支持这一点。 但在某些情况下、这可能不起作用。 您能否提供一个小型测试用例? 我需要项目+源代码+可执行文件。 我不需要您实际完成整个项目、如果可以、您可以将其简单地去除为一个文件。 只要问题可以重现、我就可以重新编译项目。

    谢谢

    Ki  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    感谢您的回复!

    这是我的猜测、这只是 CCS 中的一些问题。 不包括 这样 一个重要的功能是没有意义的。

    您可以在 以下链接中找到具有可执行文件的完整项目。 为了能够重新编译、您需要安装 MCU_PLUS_SDK_am64x_08_04_00_17。

    https://www.dropbox.com/s/8aiwymut7gawqc9/project.7z?dl=0

    还有一件事(屏幕截图)。 如果我首先单击"Editor"窗口添加断点、然后在"Disassembly"窗口中的同一地址创建两个断点、但实际上是在同一条指令中设置的(请参阅断点列表)。

    谢谢、

    Sylwester

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="547524" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1182157/stepping-through-assembler-files-in-editor-window-does-not-work-no-source-available-for/4452971 #4452971"] www.dropbox.com/.../project.7z

    遗憾的是、它会阻止对常用文件共享站点(如 dropbox 和 google drive)的访问。 我确实获得了针对 dropbox 的临时豁免、但下载 zip 时遇到问题。 您能否将 zip 文件直接连接到此线程?  

    [/报价]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="2210" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1182157/stepping-through-assembler-files-in-editor-window-does-not-work-no-source-available-for/4454066 #4454066">不幸的是,它阻止了对常用文件共享站点(如 dropbox 和 google drive)的访问。 我确实获得了针对 dropbox 的临时豁免、但下载 zip 时遇到问题。 您能否将 zip 文件直接连接到此线程?  [/报价]

    没关系、我可以下载 zip 文件。 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我看到同样的问题。

    此消息"No source available for "_c_int00 () at C:/ti\workspaces\1210\xxx\Debug\xxx.out:{3}0x70001cb8{4}"表示调试符号中没有源代码相关性。  由于您可以在 boot_armv8_asm_s.S 中设置源代码行断点、因此有点混乱、目标确实会在那里停止。

    我遇到了汇编文件的问题。 main.c 看起来不错

    我尝试使用-og 进行重建(最佳调试体验)、但它没有帮助。 我不确定问题是什么。 我需要跟进工程、并随时为您发布信息。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="2210" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1182157/stepping-through-assembler-files-in-editor-window-does-not-work-no-source-available-for/4454101 #4454101"]我需要跟踪工程并保持您的发布状态。

    请注意、由于不同的当地假日、可能需要一些时间才能获取工程更新。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的耐心等待。 工程人员已调查此问题、似乎是符号管理器的错误。 请参阅以下有关错误的跟踪链接并注意此处列出的解决方法:

    https://sir.ext.ti.com/jira/browse/EXT_EP-11010

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    我检查了权变措施、它适用于我与您共享的工程、但是对于另一个我拥有权变措施的工程、即使从"Disassembly"窗口中也会删除汇编器文件符号。 我想最好等待修复程序发布。

    谢谢、

    Sylwester

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    权变措施只是使用旧符号加载程序、而不是默认的新加载程序。 旧加载程序的问题是无法处理当前版本的 Arm clang 编译器生成的一些新信息。 因此、使用变通办法可能只会帮助解决一个问题、而只会造成其他问题。