[lldb-dev] How LLDB plug-ins loaded on Windows?

Salahuddin Khan via lldb-dev lldb-dev at lists.llvm.org
Thu Jul 5 13:12:07 PDT 2018

Hi Zachary,

Ahh ok, thanks for your quick response.

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).

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.

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.


From: Zachary Turner <zturner at google.com>
Sent: Thursday, July 05, 2018 12:56 PM
To: Salahuddin Khan <sjkhan at outlook.com>
Cc: lldb-dev at lists.llvm.org
Subject: Re: [lldb-dev] How LLDB plug-ins loaded on Windows?

Plugin is a bit misleading. All “plugins” are compiled into lldb. Plugins are really just a layering abstraction.

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
On Thu, Jul 5, 2018 at 12:47 PM Salahuddin Khan via lldb-dev <lldb-dev at lists.llvm.org<mailto:lldb-dev at lists.llvm.org>> wrote:
Hi All,

I’m somewhat puzzled by the plug-ins in LLDB, specifically on Windows.

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.

Here’s one example:

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.

lldb-dev mailing list
lldb-dev at lists.llvm.org<mailto:lldb-dev at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20180705/92eb6aa5/attachment-0001.html>

More information about the lldb-dev mailing list