summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-12-11 23:52:05 +0000
committerGreg Clayton <gclayton@apple.com>2014-12-11 23:52:05 +0000
commitcd255b31116d20cf4cf5f0834f62d23a86751450 (patch)
treefa22c2758e3ccccbf7af78db9f1755468ecc2912 /lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
parent757942a38f2b95f052a22b7a77808a66911a6f61 (diff)
downloadbcm5719-llvm-cd255b31116d20cf4cf5f0834f62d23a86751450.tar.gz
bcm5719-llvm-cd255b31116d20cf4cf5f0834f62d23a86751450.zip
Make sure we print errors for python OperatingSystem plug-ins for when things go wrong. We also dump the dictionary or collection that had errors so the user can see which info was wrong.
llvm-svn: 224082
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp')
-rw-r--r--lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp b/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
index 3507ccf9206..1088924bfea 100644
--- a/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
+++ b/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
@@ -81,6 +81,7 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
else
{
Clear();
+ printf("error: register sets must have valid names\n");
return 0;
}
}
@@ -121,6 +122,8 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
if (reg_info.name == NULL)
{
Clear();
+ printf("error: registers must have valid names\n");
+ reg_info_dict.Dump();
return 0;
}
@@ -290,6 +293,7 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
if (!success)
{
Clear();
+ reg_info_dict.Dump();
return 0;
}
}
@@ -297,6 +301,8 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
if (bitsize == 0)
{
Clear();
+ printf("error: invalid or missing 'bitsize' key/value pair in register dictionary\n");
+ reg_info_dict.Dump();
return 0;
}
@@ -308,6 +314,8 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
if (Args::StringToFormat(format_cstr, reg_info.format, NULL).Fail())
{
Clear();
+ printf("error: invalid 'format' value in register dictionary\n");
+ reg_info_dict.Dump();
return 0;
}
}
@@ -326,6 +334,8 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
if (static_cast<size_t>(set) >= m_sets.size())
{
Clear();
+ printf("error: invalid 'set' value in register dictionary, valid values are 0 - %i\n", (int)set);
+ reg_info_dict.Dump();
return 0;
}
@@ -409,6 +419,8 @@ DynamicRegisterInfo::SetRegisterInfo (const lldb_private::PythonDictionary &dict
else
{
Clear();
+ printf("error: items in the 'registers' array must be dictionaries\n");
+ regs.Dump();
return 0;
}
}
OpenPOWER on IntegriCloud