Hi,

assume we wish to use the expression evaluator to invoke a function from lldb, 
setting the result into an array passed as parameter, e.g:

void test1(uint32_t* d) {
    for(int i = 0; i < 6; i++){
        d[i] = 42 + i;
    }
}

where the expected output should be d = {42,43,44,45,46,47}. However performing 
the following expression having as target android/mips32 returns:

(lldb) expr -- uint32_t data[6] = {}; test1(data);  data
(uint32_t [6]) $4 = ([0] = 0, [1] = 2003456944, [2] = 44, [3] = 45, [4] = 
2004491136, [5] = 47)

Is this an expected behaviour or a bug? I suspect the evaluator allocates the 
memory for data and releases once the expression has been executed?

If so, can you please advise what's the proper way to achieve the same 
functionality?


Thanks,
Dean
_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to