[ddbg] Debuggin DLL with Code::Blocks

Jascha Wetzel firstname at mainia.de
Wed Mar 12 03:57:50 PDT 2008


the debug info in the executable usually hold the source filenames as 
relative paths just like they were used during compilation.
in order for the debugger to find the files, it needs to reconstruct the 
absolute paths using the search paths that are set with the directory 
command (or 'sp' when in ddbg command line mode).

so my guess is that you are missing a directory for the search path. you 
can find out what the source files are called in the debug info by using 
ddbg from the command line. the following commands should do that for 
your project:

cd C:\SoftAutomationD\0_Workspace\saWorkspace\
ddbg ..\..\_bin\saWorkspace.exe
lsm

if that lists too much, you can try
lsm Variant
instead.

you might get something like
saCollections/Variant.d
in which case you'd need to add
C:/SoftAutomationD/0_Base/
to the search paths.


Matthew Allen wrote:
> I am trying to debug a DLL with the latest release of DDBG (0.11.3) using CodeBlocks 8.02 release. 
> 
> CodeBlocks does not allow you to directly debug a DLL so I select a host exe and set my breakpoints. The Debugger log window however shows errors on trying to set the breakpoints in the DLL's. The DLL's are loaded and the path to the sourcecode is added to the debugger but it DDBG complains that it cannot find the source file. Has anyone successfully debugged a DLL with CodeBlocks? Is there some additional setup I need to do in order to get this to work? Any help is much appreciated. Log is below.
> 
> Command-line: C:\DMCompilers\Debugger\ddbg_gdb.bat -nx -fullname  -quiet -args ../../_bin/saWorkspace.exe
> Working dir : C:\SoftAutomationD\0_Workspace\saWorkspace\
>> set prompt >>>>>>cb_gdb:
> Ddbg 0.11.3 beta - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> see http://ddbg.mainia.de/doc.html for documentation
> Loading symbols from ../../_bin/saWorkspace.exe
> (gdb) >>>>>>cb_gdb:
> ...
>>>>>>> cb_gdb:
>> directory C:/SoftAutomationD/0_Workspace/saWorkspaceUtils/
>>>>>>> cb_gdb:
>> directory C:/SoftAutomationD/
>>>>>>> cb_gdb:
>> directory C:/SoftAutomationD/0_Base/saCollections/
>>>>>>> cb_gdb:
>> directory C:/SoftAutomationD/0_Workspace/saWorkspace/
>>>>>>> cb_gdb:
>> break "C:/SoftAutomationD/0_Workspace/saWorkspace/saWorkspace.d:190"
> Breakpoint 0 at 0x00402197
>>>>>>> cb_gdb:
>> break "C:/SoftAutomationD/0_Workspace/saWorkspace/saWorkspace.d:187"
> Breakpoint 1 at 0x00402183
>>>>>>> cb_gdb:
>> break "C:/SoftAutomationD/0_Base/saCollections/Variant.d:30"
> Source file "C:\SoftAutomationD\0_Base\saCollections\Variant.d" not found
> Breakpoint 2 at 0x00000000
>>>>>>> cb_gdb:
>> break "C:/SoftAutomationD/0_Base/saCollections/saCollections.d:57"
> Source file "C:\SoftAutomationD\0_Base\saCollections\saCollections.d" not found
> Breakpoint 2 at 0x00000000
>>>>>>> cb_gdb:
>> run
> 


More information about the Digitalmars-d-debugger mailing list