[Lldb-commits] [PATCH] D12245: Implement basic DidAttach and DidLaunch for DynamicLoaderWindowsDYLD.

Stephane Sezer via lldb-commits lldb-commits at lists.llvm.org
Fri Aug 21 12:29:27 PDT 2015


This revision was automatically updated to reflect the committed changes.
Closed by commit rL245725: Implement basic DidAttach and DidLaunch for DynamicLoaderWindowsDYLD. (authored by sas).

Changed prior to commit:
  http://reviews.llvm.org/D12245?vs=32842&id=32853#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D12245

Files:
  lldb/trunk/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp

Index: lldb/trunk/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
===================================================================
--- lldb/trunk/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
+++ lldb/trunk/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
@@ -9,6 +9,7 @@
 
 #include "DynamicLoaderWindowsDYLD.h"
 
+#include "lldb/Core/Log.h"
 #include "lldb/Core/PluginManager.h"
 #include "lldb/Target/Process.h"
 #include "lldb/Target/Target.h"
@@ -72,11 +73,38 @@
 void
 DynamicLoaderWindowsDYLD::DidAttach()
 {
+    Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_DYNAMIC_LOADER));
+    if (log)
+        log->Printf("DynamicLoaderWindowsDYLD::%s()", __FUNCTION__);
+
+    DidLaunch();
+
+    m_process->LoadModules();
 }
 
 void
 DynamicLoaderWindowsDYLD::DidLaunch()
 {
+    Log *log(GetLogIfAnyCategoriesSet(LIBLLDB_LOG_DYNAMIC_LOADER));
+    if (log)
+        log->Printf("DynamicLoaderWindowsDYLD::%s()", __FUNCTION__);
+
+    ModuleSP executable = GetTargetExecutable();
+
+    if (!executable.get())
+        return;
+
+    ModuleList module_list;
+    module_list.Append(executable);
+    // FIXME: We probably should not always use 0 as the load address
+    // here. Testing showed that when debugging a process that we start
+    // ourselves, there's no randomization of the load address of the
+    // main module, therefore an offset of 0 will be valid.
+    // If we attach to an already running process, this is probably
+    // going to be wrong and we'll have to get the load address somehow.
+    UpdateLoadedSections(executable, LLDB_INVALID_ADDRESS, 0);
+
+    m_process->GetTarget().ModulesDidLoad(module_list);
 }
 
 Error


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12245.32853.patch
Type: text/x-patch
Size: 1722 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150821/c0286455/attachment.bin>


More information about the lldb-commits mailing list