<div><div dir="auto">It’s been a while since i was close to this code, so adding people who have been in there more recently </div></div><div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 5, 2018 at 1:12 PM Salahuddin Khan <<a href="mailto:sjkhan@outlook.com">sjkhan@outlook.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div class="m_5291037093266326650WordSection1">
<p class="MsoNormal">Hi Zachary,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Ahh ok, thanks for your quick response.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I was hoping to use LLDB on Windows (to debug Go code), which I know is DWARF based (and I thought would work on Windows), but since I couldn’t seem to set a breakpoint in C/C++/Go, so I thought perhaps plug-ins weren’t being loaded (although
it’s not possible to ‘load’ a .lib file, they have to be included during link time).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">However, longer term I’m also hoping to replace the kernel debugger for my own operating system (a personal OS written from scratch) with LLDB. My OS uses the PE file format and has PDBs too – currently compiled on Windows using a very
old version of the Windows DDK. I’m in the process of moving to a new build system using clang. I was using DIA to some degree and debugging from Windows, but I eventually hope to be able to debug one system from another also running the OS, so non-Windows
support would be good.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Any idea which pieces are missing on Windows? I’m probably going to start debugging lldb to figure it out, but knowing what is needed would help significantly.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Salah<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>From:</b> Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> <br>
<b>Sent:</b> Thursday, July 05, 2018 12:56 PM<br>
<b>To:</b> Salahuddin Khan <<a href="mailto:sjkhan@outlook.com" target="_blank">sjkhan@outlook.com</a>><br>
<b>Cc:</b> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [lldb-dev] How LLDB plug-ins loaded on Windows?<u></u><u></u></p></div></div><div lang="EN-US" link="blue" vlink="purple"><div class="m_5291037093266326650WordSection1">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Plugin is a bit misleading. All “plugins” are compiled into lldb. Plugins are really just a layering abstraction.<br>
<br>
To answer your question, pdb works currently but is limited in functionality. First, it only supports limited usage scenarios, and second it requires Windows. It’s currently built on top of DIA. If you need PDB support on non Windows it will be quite a bit
of work (although there’s people making gradual progress on it). If you need it on Windows it basically works but you’ll have to fill in some missing pieces. Several other people have been submitting patches in this area as well recently
<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, Jul 5, 2018 at 12:47 PM Salahuddin Khan via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Hi All,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I’m somewhat puzzled by the plug-ins in LLDB, specifically on Windows.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">When examining the lib directory after building LLVM/LLDB, I noticed at lot of lldbPlugin*.lib files. However, it’s not clear if or how these are included in LLDB.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Here’s one example:<u></u><u></u></p>
<p class="MsoNormal">lldbPluginSymbolFilePDB.lib<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Are these compiled into lldb.exe and if so, how are they invoked? I’m trying to determine if PDB symbols are currently working, and if not, what would be required to make them work.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Salah<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flldb-dev&data=02%7C01%7C%7C84108fc35826478eab1d08d5e2b159c4%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636664173692558759&sdata=aXv9k6HqIpZGhA3QRqpBSdFgB%2Fa4CVuwIgSRRkJZuac%3D&reserved=0" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</blockquote></div></div>