diff options
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.h')
-rw-r--r-- | lldb/source/Plugins/Process/scripted/ScriptedProcess.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.h b/lldb/source/Plugins/Process/scripted/ScriptedProcess.h index 24b5a31..0335364 100644 --- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.h +++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.h @@ -12,6 +12,7 @@ #include "lldb/Target/Process.h" #include "lldb/Utility/ConstString.h" #include "lldb/Utility/ScriptedMetadata.h" +#include "lldb/Utility/State.h" #include "lldb/Utility/Status.h" #include "ScriptedThread.h" @@ -93,6 +94,11 @@ public: void *GetImplementation() override; void ForceScriptedState(lldb::StateType state) override { + // If we're about to stop, we should fetch the loaded dynamic libraries + // dictionary before emitting the private stop event to avoid having the + // module loading happen while the process state is changing. + if (StateIsStoppedState(state, true)) + GetLoadedDynamicLibrariesInfos(); SetPrivateState(state); } |