【发布时间】:2015-08-03 22:02:06
【问题描述】:
当我第一次听说它时,它听起来像是一个很棒的功能——一个 c++ REPL。但是,它不能调用 STL 函数或方法,并且还有很多其他问题。这个问题也适用于条件断点。
它仍然是一个实验性功能,还是开发人员刚刚放弃了它?
例子:
(lldb) p iterator->aField
error: call to a function 'std::__1::__wrap_iter<aClass const*>::operator->() const' ('_ZNKSt3__111__wrap_iterIPK8aClassEptEv') that is not present in the target
error: 0 errors parsing expression
error: The expression could not be prepared to run in the target
【问题讨论】:
-
是不是
operator->函数已经被编译器内联了? -
@TheParamagneticCroissant 这和什么有什么关系?
-
如果函数是内联的并且不存在于可执行文件中,调试器几乎没有机会调用它。
-
它不应该能够即时解释(至少)来自模板的代码吗? (至少最终;如果这是一个实验性功能,他们可能还没有时间这样做)
-
“它不应该能够即时解释(至少)来自模板的代码吗?” – 嗯……不。