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