Breakpoint for EXE to DLL debugging in VisualD (all D)

Rainer Schuetze r.sagitario at gmx.de
Sat May 8 14:26:18 UTC 2021



On 06/05/2021 16:21, frame wrote:
> Some code of my framework is reused in my DLL too because it has it's
> own logic as a plugin system.
> 
> I want to seamlessly debug from EXE to DLL inspection by running the
> main application.
> 
> If I set a breakpoint for a method in the VS debugger it generates
> breakpoints for all method overloads for the main EXE and also sometimes
> for the DLL too - but in most cases only for the EXE.

I have tried to reproduce the issue with a simple pair of exe and DLL
sharing a template in a common module, but that worked as expected
(showing both function locations in the list of breakpoints).

> 
> The breakpoint will be hit if the function name matches the process, so
> it seems.
> 
> eg.:
> ```main.exe!mylib.func.get!bool.get(...)```
> ```some.dll!mylib.func.get!bool.get(...)```
> 
> I tried to manually insert the breakpoint as modified function name, but
> that doesn't work.
> I tried to export the breakpoint xml data and edit it, but I am afraid I
> also need the correct function address to get this working.

The mago debug extensions deals with D expressions, but not breakpoint
locations. There seems to be an interface to support function name
resolution, but it is not implemented yet.

> 
> The only way it works so far is when the debugger catches an error in
> loaded DLL and opens the right editor tab for it. If I set a breakpoint
> then it also generates breakpoints for functions in the DLL too.
> 
> Is there are way to select the loaded DLL when setting a breakpoint I
> don't know?
> 

In case you load the DLL dynamically, maybe it helps if you preload the
DLL and it's symbols, e.g. by loading it as a direct dependency of the
executable.


More information about the Digitalmars-d-debugger mailing list