调试捕获此代码的lambda

时间:2018-08-20 09:58:47

标签: c++ c++11 lldb

我有一个捕获this的lambda。调试它时,我很难看到捕获对象的成员:如果执行p *this,则LLDB打印:

((anonymous class)) $1 = {
  this = 0x17ebb62c
}

因此,显然我有只包含一个成员的lambda类,这是它捕获的this指针。似乎合法,因此我尝试了p this->this,然后报告:

error: expected unqualified-id

我担心LLDB会丢失,因为它既是关键字又是我的匿名类的成员。是这样吗我该怎么做才能避免这种情况?

1 个答案:

答案 0 :(得分:1)

假设以下代码:

InferenceHelper

我发现有时有必要分两次进行:

struct S
{
    auto f() { return [this](){ return ++i; }; }
    int i = 0;
};