Ddbg 0.09 beta release
dickl
dick221z at yahoo.com
Sun Jun 17 09:16:11 PDT 2007
Jascha Wetzel wrote:
> dickl wrote:
>> There seems to be a problem with the integration in CodeBlocks though.
>
> fixed in 0.09.1
>
>> I also noticed when using the command line , if I step 'in' on a 'new'
>> statement, it goes to some totally unrelated line of code. All
>> subsequent attempts at single stepping stay on the same line of code.
>> If I use "ov" to get out, then step with 'in' it steps into the
>> constructor as it should.
>
> can you give me a test case for that?
Haven't been able to find a simple test case yet but have found this:
int result=1;
gc_init(); // initialize garbage collector
_minit(); // initialize module constructor table
The assembly list from ddbg looks like this:
> 0x404032 // quantum.d:50 int result=1;
> 0x404032 mov dword [ebp-0x54], 0x1
> 0x404039 // quantum.d:52 gc_init(); // initialize garbage collector
> 0x404039 call 0x440fd8 _gc_init audiosetup.d:116
> 0x40403e // quantum.d:53 _minit(); // initialize module constructor table
> 0x40403e call 0x441ea0 __minit audiosetup.d:116
Notice the source file for _gc_init & __minit are not correct, causing
the debugger to show 116 of audiosetup.d while stepping into these function.
Now for 'new' statement, we get a similar thing
> 0x40407b // quantum.d:65 QuantumDlg dlg=new QuantumDlg();
> 0x40407b push dword 0x464cdc
> 0x404080 call 0x4410cc __d_newclass audiosetup.d:116
> 0x404085 mov [ebp-0x24], eax
> 0x404088 call 0x408154 quantumdlg.QuantumDlg._ctor quantumdlg.d:599
I've looked at the assembly listing from MSVC and the problem doesn't
appear so it is a problem with ddbg.
Line 116 of audiosetup.d is the very last line in the file. audiosetup.d
is the last file compiled/linked in.
More information about the Digitalmars-d-announce
mailing list