llvm-project/lldb/source
Greg Clayton c0e8a85ea8 Modified Value.cpp to share the code that gets the values as bytes (Value::GetValueAsData()) so now Value::ResolveValue() doesn't do its own thing by reading memory directly.
Also modified the Value class so that you can evaluate expressions without a process, yet with some sections loaded in the target. This allows casting pointers that are in data sections to types and being able to evaluate expressions in the data. For example:

(lldb) target create a.out
(lldb) target modules load --file a.out --slide 0
... find address of something in data ...
(lldb) script
expr_opts = lldb.SBExpressionOptions()
v = lldb.target.EvaluateExpression('(foo *)0x1230000', expr_opts)
print v
vv = lldb.value(v)
print v.pt.x

Above we were able to cast a pointer to an address which was in a.out's data
section and print out entire structures and navigate to the child ivars of the expression.

llvm-svn: 172227
2013-01-11 18:01:02 +00:00
..
API Add an SBProcess API to get the current StopID, either considering or ignoring stops caused by expression 2013-01-08 23:22:42 +00:00
Breakpoint <rdar://problem/12953853> 2013-01-08 00:01:36 +00:00
Commands Fixed an issue the "process plugin" proxy object was trying to use the m_exe_ctx when it wasn't ok to do so. 2013-01-09 22:58:18 +00:00
Core Modified Value.cpp to share the code that gets the values as bytes (Value::GetValueAsData()) so now Value::ResolveValue() doesn't do its own thing by reading memory directly. 2013-01-11 18:01:02 +00:00
Expression Added emulation of shifts to the IR interpreter. 2013-01-09 22:44:41 +00:00
Host Add initial support to trace spawned threads in a process on Linux. 2013-01-08 16:30:18 +00:00
Interpreter Expanded the flags that can be set for a command object in lldb_private::CommandObject. This list of available flags are: 2013-01-09 19:44:40 +00:00
Plugins <rdar://problem/12976225> 2013-01-08 22:10:01 +00:00
Symbol <rdar://problem/11146929> 2013-01-10 02:37:22 +00:00
Target <rdar://problem/12976225> 2013-01-08 22:10:01 +00:00
Utility Enable RTTI for liblldbCore.a when GCC is the compiler 2012-12-10 21:05:57 +00:00
Makefile Don't include LLDBWrapPython.cpp here. Use it in Interpreter. 2012-05-29 14:03:55 +00:00
lldb-log.cpp Add an LLDB_LOG_TARGET logging channel (log eanble lldb target). 2012-12-05 00:25:49 +00:00
lldb.cpp Enable ProcessGDBRemote plugin on Linux 2013-01-08 14:55:36 +00:00