Hi all,
    I am currently using python interface to run a non-interactively script 
based on LLDB to trace the variable changing during each step during the 
program running. 

    C allows a variable to be declared at first without initialization.  And 
the value of the variable after declaration could be a random value before 
initialized according to my test using LLDB with the following code compiled by 
clang+llvm. 

----Example Code ----
#include <stdio.h>
#include <stdlib.h>
int g = 42;
float u = 5;
struct node {
  int field;
  struct node* next;
};
void f() {
    g = g + 1;
    printf("Hello world!\n");
}


int main(int argc, char *argv[])
{
  int x;
  int y=10;
  x  = y+1;
  struct node* root = (struct node*)malloc(sizeof(struct node));
  root->field = 3;
  root->next = (struct node*)malloc(sizeof(struct node));
  root->next->field = 2;
  free(root->next);
  free(root);


  int i = 0;
  i = i + 1;
  f();
  return 0;
}


-----End Example Code ----

   My question is:
   In LLDB, is there a way to check whether a variable is currently be 
declared, and have not been initialized? So that my non-interactively script 
could check this, and ignore to show it before initialized ?
   Thanks very much.

Best,
Kun Ling
_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to