summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectExpression.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-07-23 02:19:15 +0000
committerSean Callanan <scallanan@apple.com>2010-07-23 02:19:15 +0000
commit6dde30e964aa65c5173c00dd72ae70c31d052ab6 (patch)
tree9633c6c7906bae41ac3cd340d8e4892871ada96f /lldb/source/Commands/CommandObjectExpression.cpp
parent318e40360d7778c3cd2a4aa737bef9a08e62080e (diff)
downloadbcm5719-llvm-6dde30e964aa65c5173c00dd72ae70c31d052ab6.tar.gz
bcm5719-llvm-6dde30e964aa65c5173c00dd72ae70c31d052ab6.zip
Added extensive logging of the code that is actually going
to be executed by the inferior. This required explicit support from RecordingMemoryManager for finding the address range belonging to a particular function. Also fixed a bug in DisassemblerLLVM where the disassembler assumed there was an AddressRange available even when it was NULL. llvm-svn: 109209
Diffstat (limited to 'lldb/source/Commands/CommandObjectExpression.cpp')
-rw-r--r--lldb/source/Commands/CommandObjectExpression.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp
index 303ca17cc56..af19641d88e 100644
--- a/lldb/source/Commands/CommandObjectExpression.cpp
+++ b/lldb/source/Commands/CommandObjectExpression.cpp
@@ -321,8 +321,21 @@ CommandObjectExpression::EvaluateExpression (const char *expr, bool bare, Stream
{
log->Printf("Function address : 0x%llx", (uint64_t)function_address);
log->Printf("Structure address : 0x%llx", (uint64_t)struct_address);
- }
+ StreamString insns;
+
+ Error err = clang_expr.DisassembleFunction(insns, m_exe_ctx, "___clang_expr");
+
+ if (!err.Success())
+ {
+ log->Printf("Couldn't disassemble function : %s", err.AsCString("unknown error"));
+ }
+ else
+ {
+ log->Printf("Function disassembly:\n%s", insns.GetData());
+ }
+ }
+
ClangFunction::ExecutionResults execution_result =
ClangFunction::ExecuteFunction (m_exe_ctx, function_address, struct_address, true, true, 10000, error_stream);
OpenPOWER on IntegriCloud