Ddbg 0.0.4 alpha release - another bug report

Jascha Wetzel "[firstname]" at mainia.de
Tue Mar 6 14:17:22 PST 2007


one thing is, that you can't cast a static array to a dynamic array in
ddbg, yet.
but not casting the expression gives the same result. this is a bug in
DMD's codeview symbols, though. the array is marked as having length 0.
i can't tell when exactly that happens, since it worked in your other
example (the TableStuff array).

dickl wrote:
> Awesome..
> 
> Unfortunately I forgot to look at that local variable Cmd (same test
> case). The debugger has a problem evaluating it:
> 
>  Ddbg v0.0.4.3 alpha - D Debugger
>  Copyright (c) 2007 Jascha Wetzel
>  http://ddbg.mainia.de/
> 
>  ->bp test.d:1
>  Breakpoint set: test.d:3 0x402010
>  ->
>  Breakpoint set: test.d:3 0x402010
>  ->r
>  ntdll.dll  loaded
>  KERNEL32.dll  loaded
>  USER32.dll  loaded
>  GDI32.dll  loaded
>  Breakpoint 0 hit
>  test.d:3 0x402010
>  int main()
>  ->in
>  test.d:6 0x402015
>      char [1024] Cmd;
>  test.d:7 0x402027
>      strcpy(Cmd.ptr, "Hello");
>  test.d:8 0x402038
>      printf("%s\n",Cmd.ptr);
>  ->= cast(char[])Cmd
>  Expression evaluated to empty data
>  ->
> --------------------------------------
> 
> Jascha Wetzel wrote:
>> more thanks :)
>> fixed in 0.0.4.3
>>
>> dickl wrote:
>>> Found another one... The debugger doesn't always seems to single step
>>> correctly. Happens with "in" and "ov" stepping. Steps correctly up to a
>>> point then the app runs to completion.
>>>
>>> Source
>>> ----------------------
>>> import std.stdio;
>>> import std.c.string;
>>> int main()
>>> {
>>>     //QSettings f = new QSettings;
>>>     char [1024] Cmd;
>>>     strcpy(Cmd.ptr, "Hello");
>>>     printf("%s\n",Cmd.ptr); // have to printf 'cos writefln throws
>>>     writefln("Finis");
>>>     return 0;
>>> }//end int main()
>>>
>>> Debug Results
>>> ---------------------
>>> Ddbg v0.0.4.2 alpha - D Debugger
>>> Copyright (c) 2007 Jascha Wetzel
>>> http://ddbg.mainia.de/
>>>
>>> ->bp test.d:1
>>> Breakpoint set: test.d:4 0x402010
>>> ->r
>>> ntdll.dll  loaded
>>> KERNEL32.dll  loaded
>>> USER32.dll  loaded
>>> GDI32.dll  loaded
>>> Breakpoint 0 hit
>>> test.d:4 0x402010
>>> int main()
>>> ->in
>>> test.d:7 0x402015
>>>     char [1024] Cmd;
>>> ->
>>> test.d:8 0x402027
>>>     strcpy(Cmd.ptr, "Hello");
>>> ->
>>> Hello
>>> Finis
>>> Process terminated
>>> ->



More information about the Digitalmars-d-announce mailing list