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.

[参考译文] CCS/EK-TM4C123GXL:调试器找不到 main

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/859583/ccs-ek-tm4c123gxl-debugger-not-finding-main

器件型号:EK-TM4C123GXL

工具/软件:Code Composer Studio

我在调试器上获得这些输出、尽管我已将其配置为运行到 main、但似乎找不到 main。 我还收到一些警告:  

(另外两个是毫无意义的比较警告、我知道它们是什么意思)

这两件事是否相关、或者我是否可以忽略警告? 我缺少了哪些设置来从调试器获取上述输出?

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

    [引用 USER="Meaghan Moeller ]'我在调试器上获得这些输出、但似乎找不到 main、即使我已将其配置为运行到 main。 错误发生在到达 main 之前的编译器运行时库启动代码中。 在这种情况下、错误是在尝试为 C++异常处理分配32字节结构时 malloc 返回 NULL 指针。

    当在 CCS 中为 Tiva 器件创建一个新项目时、缺省情况下、堆大小被设定为零字节。 在"CCS Project Properties Build -> ARM Linker -> Basic Options"下、需要为"Heap size for C/C++ dynamic memory allocation (--heap_size、-heap)"设置一个非零值:

    堆大小的实际值取决于程序、但对于附加的 C++异常处理示例、该示例也使用4096字节的堆和2084字节的堆栈、这是足够的。

    [引用 user="Meaghan Moeller "]我还收到一些警告: 表单"创建输出段"的警告

    "没有 SECTIONS 规范"意味着链接器将段放置在任意的存储器区域中、这可能会导致运行时出现故障。  arm.extab 和 .arm.exidx 段 与展开相关(根据 https://answers.launchpad.net/gcc-arm-embedded/+question/271294)。 在链接器命令文件(.cmd)的各段中、添加以下命令以将这些段放置在闪存中、从而解析警告:

    .arM.extab >闪存
    .arM.exidx >闪存 

    e2e.ti.com/.../TM4C123_5F00_cpp_5F00_exceptions.zip

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

    谢谢、这对我们有所帮助