eclipse gdb - 如何进入包含代码行的MACRO
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse gdb - 如何进入包含代码行的MACRO相关的知识,希望对你有一定的参考价值。
我正在使用Kinetis Design Studio, Version: 3.2.0
#define DECODE_QSTR qstr qst = 0;
do {
qst = (qst << 7) + (*ip & 0x7f);
} while ((*ip++ & 0x80) != 0)
当我踏入DECODE_QSTR;
线时,它不会进入do-while
循环。
MARK_EXC_IP_SELECTIVE();
DECODE_QSTR;
PUSH(mp_load_name(qst));
DISPATCH();
有没有办法启用步入包含多行代码的MACRO?
答案
不,没有办法做到这一点。这可能是DWARF的限制,也可能是编译器的限制,具体取决于您的视图。
理论上,编译器可以在行表中为宏的每个相关部分发出条目。但是,我不知道有任何编译器执行此操作(这是编译器限制部分)。并且,如果它完成了,它仍然会留下如何在步进时看到宏参数的问题(DWARF没有提供任何方法来执行此操作)。
解决方法是使用内联函数,但当然并非总是可行。
以上是关于eclipse gdb - 如何进入包含代码行的MACRO的主要内容,如果未能解决你的问题,请参考以下文章