Can't get ddbg to work in Code::Blocks

Jascha Wetzel "[firstname]" at mainia.de
Fri Mar 30 06:54:32 PDT 2007


did you check "settings > compiler and debugger > debugger settings >
display debugger's log"?
this enables the "Debugger (debug)" tab.

> (gdb) break main
> Breakpoint 0 at 0x00000000

break only accepts file:line locations, yet.
try somehting like "break main.d:1".

also you will have to "run" the process before using "next" (i will fix
that).
check out http://ddbg.mainia.de/doc.html for an example debug session
with the Ddbg syntax. i'd recommend using Ddbg syntax on the command
line, since Ddbg's GDB mode isn't as verbose.


Patrick Byrne wrote:
> Jascha Wetzel wrote:
>> this is not the ddbg output.
>> note that there are two tabs, one called "Debugger" and one called
>> "Debugger (debug)". the former holds short infos from CB that are
>> independent of the debugger, the latter is the tab that holds the ddbg
>> output and what codeblocks sends to ddbg as input.
> 
> I see no 'Debugger (debug)' tab. I presume you mean the 'Code::Blocks
> Debug' tab, which has lots of stuff on it.
> 
> All that the debugger adds (after pressing 'Step-in') is:
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 1, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> [14:38:28.951]: Scanned 0 files for #includes, cache used 0, cache
> updated 0
> 
>> don't worry - if you're trying command-line debugging, you just do that
>> to fix this problem and get back to CB after that ;)
> 
> Well, this is my attempt at debugging so far:
> 
> C:\d\hworld>\dmd\bin\ddbg_gdb.exe bin\Debug\hworld.exe
> Ddbg v0.0.5.3 alpha - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> http://ddbg.mainia.de/
> 
> (gdb) break main
> Breakpoint 0 at 0x00000000
> (gdb) run
> Error: couldn't write breakpoint opcode at :0
> (gdb) n
> Warning: Unknown command 'n' ignored!
> (gdb) next
> ERROR: Couldn't read from process' memory for disassembly: Only part of
> a ReadProcessMemory or WriteProcessMemory request was completed.
> 
> ....I haven't used gdb before, but all does not seem to be well!
> 
> <* * *>
> 
> If I just start and run I get:
> 
> C:\d\hworld>\dmd\bin\ddbg_gdb.exe bin\Debug\hworld.exe
> Ddbg v0.0.5.3 alpha - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> http://ddbg.mainia.de/
> 
> (gdb) run
> ntdll.dll  loaded
> KERNEL32.dll  loaded
> USER32.dll  loaded
> GDI32.dll  loaded
> IMM32.dll  loaded
> ADVAPI32.dll  loaded
> RPCRT4.dll  loaded
> LPK.dll  loaded
> USP10.dll  loaded
> msvcrt.dll  loaded
> Program exited
> (gdb)
> 
> ....which flashes up a DOS box, presumably with the 'hello world'
> output, though it doesn't wait for a key press as it should. If I run
> the program from Code::Blocks (without trying to step) it works ok:
> 
> hello world
> args.length = 1
> args[0] = 'c:\d\hworld\bin\Debug\hworld.exe'
> 
> Process returned 0 (0x0)   execution time : 0.015 s
> Press any key to continue.
> 
> 
> ....most odd!
> 
> 
> -P


More information about the Digitalmars-d-debugger mailing list