我正在使用Xcode / lldb调试一些C代码。但是我得到这个错误
(lldb) p (int)g_list_position(start, next)
(int) $0 = 1
(lldb) p (int)g_list_position(start, this)
error: expected unqualified-id
error: invalid use of 'this' outside of a non-static member function
因此,显然lldb中的“ this”是对类的引用,尽管它在C中是一个完全有效的var(其值应为0)。有没有办法在lldb中转义此名称?
答案 0 :(得分:1)
否,lldb中的表达式求值器将您的表达式(在源级别)用一些C ++封装以传递参数。我唯一想到的建议是在this
指针中获取地址,然后将其明确地放在表达式中。表达式评估的目的是可以在程序中复制源代码行并将其作为lldb中的表达式执行。但这是一个不起作用的特殊情况-C中的变量是C ++中的保留字。