-1

我发布这个然后回答自己为其他人记录这个问题。

我正在使用带有 Simplelink BLE 堆栈的 TI CC2650 Launchpad。我编译和运行的项目是零项目(带有编辑的代码和附加配置文件)。

我想在配置文件内的某些函数中放置断点。对于他们中的大多数我不能!当我在调试时查看反汇编时,我发现符号不可用。

我可以放置断点的唯一地方是 main.c 或回调内部。

如何在别处放置断点?我的符号在哪里?

4

1 回答 1

-1

所以交易是这样的——我试图在其中放置断点的函数是静态函数,位于包含它们的 C 模块的内部。其中,大多数只在代码中使用过一次。所以编译器内联了它们!

因此,为了实现对这些功能的调试,必须禁用编译器优化。这会禁用内联,并导致生成这些函数的符号。

于 2017-03-07T20:13:32.113 回答