[lldb-dev] Patch for review: target modules show-unwind errors
Michael Sartain
mikesart at gmail.com
Thu Aug 15 14:10:20 PDT 2013
When using the "target modules show-unwind", it was very difficult to tell
whether I had typed something wrong or it had found zero results.
All of these commands would return nothing:
target modules show-unwind 0x80484d0 ; invalid command - nothing done
target modules show-unwind -a 0x80484d0 ; this is a valid command that
target modules show-unwind -foobar 0x80484d0 ; invalid command - nothing
done
target modules show-unwind nonexistentfunctionname ; invalid command -
nothing done
The patch below returns an error string if you specify an invalid option,
don't specify an option, or no results were found.
Please let me know if it's ok to submit. Thanks.
-Mike
mikesart at mikesart-rad:~/data/src/llvm.svn/llvm/tools/lldb$ svn diff
Index: source/Commands/CommandObjectTarget.cpp
===================================================================
--- source/Commands/CommandObjectTarget.cpp (revision 188467)
+++ source/Commands/CommandObjectTarget.cpp (working copy)
@@ -3468,6 +3468,7 @@
case 'a':
{
ExecutionContext exe_ctx
(m_interpreter.GetExecutionContext());
+ m_str = option_arg;
m_type = eLookupTypeAddress;
m_addr = Args::StringToAddress(&exe_ctx, option_arg,
LLDB_INVALID_ADDRESS, &error);
if (m_addr == LLDB_INVALID_ADDRESS)
@@ -3481,6 +3482,10 @@
m_type = eLookupTypeFunctionOrSymbol;
break;
}
+
+ default:
+ error.SetErrorStringWithFormat ("unrecognized option
%c.", short_option);
+ break;
}
return error;
@@ -3591,8 +3596,21 @@
}
}
}
+ else
+ {
+ result.AppendError ("address-expression or function name
option must be specified.");
+ result.SetStatus (eReturnStatusFailed);
+ return false;
+ }
size_t num_matches = sc_list.GetSize();
+ if (num_matches == 0)
+ {
+ result.AppendErrorWithFormat ("no unwind data found that
matches '%s'.", m_options.m_str.c_str());
+ result.SetStatus (eReturnStatusFailed);
+ return false;
+ }
+
for (uint32_t idx = 0; idx < num_matches; idx++)
{
SymbolContext sc;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20130815/7fbe9550/attachment.html>
More information about the lldb-dev
mailing list