summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Debugger.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-10-19 18:02:49 +0000
committerGreg Clayton <gclayton@apple.com>2012-10-19 18:02:49 +0000
commite8cd0c9859bfae9b173e89f566b6f4d6b010b19f (patch)
tree712804cb727d621b59a2f1c4e61e571f3ebb92fe /lldb/source/Core/Debugger.cpp
parentdb97454f8ee2d47ef1f6000e812321ac1abc54d8 (diff)
downloadbcm5719-llvm-e8cd0c9859bfae9b173e89f566b6f4d6b010b19f.tar.gz
bcm5719-llvm-e8cd0c9859bfae9b173e89f566b6f4d6b010b19f.zip
Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at:
plugin dynamic-loader macosx-kernel (bool) disable-kext-loading To settings can be set using: (lldb) settings set plugin.dynamic-loader.macosx-kernel.disable-kext-loading true I currently only hooked up the DynamicLoader plug-ins, but the code is very easy to duplicate when and if we need settings for other plug-ins. llvm-svn: 166294
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r--lldb/source/Core/Debugger.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 75253fd9f2a..673b077fc62 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -22,6 +22,7 @@
#include "lldb/Core/FormatManager.h"
#include "lldb/Core/InputReader.h"
#include "lldb/Core/Module.h"
+#include "lldb/Core/PluginManager.h"
#include "lldb/Core/RegisterValue.h"
#include "lldb/Core/State.h"
#include "lldb/Core/StreamAsynchronousIO.h"
@@ -125,7 +126,8 @@ g_properties[] =
{ "term-width", OptionValue::eTypeSInt64 , true, 80 , NULL, NULL, "The maximum number of columns to use for displaying text." },
{ "thread-format", OptionValue::eTypeString , true, 0 , DEFAULT_THREAD_FORMAT, NULL, "The default thread format string to use when displaying thread information." },
{ "use-external-editor", OptionValue::eTypeBoolean, true, false, NULL, NULL, "Whether to use an external editor or not." },
-{ NULL, OptionValue::eTypeInvalid, true, 0 , NULL, NULL, NULL }
+
+ { NULL, OptionValue::eTypeInvalid, true, 0 , NULL, NULL, NULL }
};
enum
@@ -438,6 +440,8 @@ Debugger::InstanceInitialize ()
this);
}
}
+
+ PluginManager::DebuggerInitialize (*this);
}
DebuggerSP
OpenPOWER on IntegriCloud