diff --git a/uppsrc/ide/Debuggers/Pdb.cpp b/uppsrc/ide/Debuggers/Pdb.cpp index de233dfe7..7bc0bee76 100644 --- a/uppsrc/ide/Debuggers/Pdb.cpp +++ b/uppsrc/ide/Debuggers/Pdb.cpp @@ -90,6 +90,7 @@ void Pdb::DebugBar(Bar& bar) bar.Add(b, "Copy backtrace", THISBACK(CopyStack)); bar.Add(b, "Copy backtrace of all threads", THISBACK(CopyStackAll)); bar.Add(b, "Copy dissassembly", THISBACK(CopyDisas)); + bar.Add(b, "Copy modules", THISBACK(CopyModules)); } void Pdb::Tab() @@ -396,6 +397,15 @@ void Pdb::CopyDisas() disas.WriteClipboard(); } +void Pdb::CopyModules() +{ + String s; + for(const ModuleInfo& f : module) + s << f.path << ", base 0x" << FormatIntHex((void *)f.base) + << ", size: 0x" << FormatIntHex(f.size) << "\n"; + WriteClipboardText(s); +} + void Pdb::Stop() { if(!terminated) { diff --git a/uppsrc/ide/Debuggers/Pdb.h b/uppsrc/ide/Debuggers/Pdb.h index 53c05bea2..9e220098d 100644 --- a/uppsrc/ide/Debuggers/Pdb.h +++ b/uppsrc/ide/Debuggers/Pdb.h @@ -510,6 +510,7 @@ struct Pdb : Debugger, ParentCtrl { void CopyStack(); void CopyStackAll(); void CopyDisas(); + void CopyModules(); void MemoryGoto(const String& exp);