[lldb-dev] static fields and consts on a class
Greg Clayton
gclayton at apple.com
Fri Jul 25 11:27:12 PDT 2014
If you have the following code:
#include <stdio.h>
#include <stdint.h>
class A {
public:
static int a;
};
int A::a = 123;
int main (int argc, char const *argv[], char const *envp[])
{
puts("hello");
return A::a;
}
You can get to it using when running using the "frame variable" or "expression" commands:
% lldb a.out
(lldb) b main
(lldb) run
(lldb) fr var A::a
(int) A::a = 123
(lldb) expression A::a
(int) $0 = 123
You can also access it when you are not running because it is a static variable by using the "target variable" (a command that allows access to global and static variables). Since its value is stored in the data sections:
% xcrun lldb a.out
Current executable set to 'a.out' (x86_64).
(lldb) target variable A::a
(int) A::a = 123
> On Jul 16, 2014, at 6:42 AM, Carlo Kok <ck at remobjects.com> wrote:
>
> I've explored the internal and external apis for LLDB, but I cannot find any way to expose (from LLVM) a static field on a class (like Java: class Test { public static int A = 15; }) or a constant on a class. How do I do this and read it out again with LLDB?
>
>
> --
> Carlo Kok
> RemObjects Software
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list