diff options
author | Sean Callanan <scallanan@apple.com> | 2010-07-23 02:19:15 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-07-23 02:19:15 +0000 |
commit | 6dde30e964aa65c5173c00dd72ae70c31d052ab6 (patch) | |
tree | 9633c6c7906bae41ac3cd340d8e4892871ada96f /lldb/source/Commands/CommandObjectExpression.cpp | |
parent | 318e40360d7778c3cd2a4aa737bef9a08e62080e (diff) | |
download | bcm5719-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.cpp | 15 |
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); |