September 02, 2013
On Monday, 2 September 2013 at 14:22:15 UTC, Jacob Carlborg wrote:
> On 2013-09-02 14:00, Paolo Invernizzi wrote:
>
>> Me and my colleague are working full time for a project with DMD 2.063:
>> I'm on OSX, so it's a different story, but he is on linux (Ubuntu 13.04
>> 64bit).
>
> The debugging experience is even worse on Mac OS X.

I can confirm! I use http://cgdb.github.io/ on Mac OS. The pain, the pain.... :/
September 02, 2013
On Monday, 2 September 2013 at 18:30:45 UTC, Gary Willoughby wrote:
> On Monday, 2 September 2013 at 14:22:15 UTC, Jacob Carlborg wrote:
>> On 2013-09-02 14:00, Paolo Invernizzi wrote:
>>
>>> Me and my colleague are working full time for a project with DMD 2.063:
>>> I'm on OSX, so it's a different story, but he is on linux (Ubuntu 13.04
>>> 64bit).
>>
>> The debugging experience is even worse on Mac OS X.
>
> I can confirm! I use http://cgdb.github.io/ on Mac OS. The pain, the pain.... :/


Actually I use lldb: at least it has some pretty tabbed autocomplete on files and function number.
If you know the module, you can start with something like 'D4test' and tab to have the symbols.

It works also over file:number so at least you can set some break and check the calling frames (sometime is useful, and I don't think this is possible with the usual flooding of 'writeln', or no?).

What actually really doesn't work at all is printing locals:

  (gdb) info local
  No symbol table info available.

*sigh*

- Paolo



September 02, 2013
On Monday, 2 September 2013 at 13:44:40 UTC, Adam D. Ruppe wrote:
> On Monday, 2 September 2013 at 12:00:43 UTC, Paolo Invernizzi wrote:
>> ability to set a break (usually that's work, at least in OSX), AND being able to inspect locals.
>
> Here's what happens with me:
>
> dmd test30.d -debug -gc
> gdb test30
> GNU gdb (GDB) 7.1
> Copyright (C) 2010 Free Software Foundation, Inc.
> [...]
> This GDB was configured as "x86_64-slackware-linux".
> [...]
> (gdb) break test30.d:13
> Breakpoint 1 at 0x8070846: file test30.d, line 13.
> (gdb) r
> Starting program: /home/me/test30
> [Thread debugging using libthread_db enabled]
>
> Breakpoint 1, _Dmain () at test30.d:13
> 13              assert(0, s);
> (gdb) print s
> $1 = {length = 7, ptr = 0xf7cf7fe0 "test 10\b"}
> (gdb) c
> Continuing.
> core.exception.AssertError@test30.d(13): test 10
> [...]
> Program exited with code 01.
>

<snip>

> Another thing I do is compile every D file at once. dmd -gc -debug a.d everything.d here.d so.d on.d etc.d
>
>
> Maybe that helps me too.

Thank you Adam, we will try this for sure!

>> I think we are not alone searching for such informations, so can you point me somewhere in the wiki, in the documentation, or similar, when there's a clear information about what version of gdb to use, what it is available as functionality and what not, and what compiler flags to use?
>
> I don't really know except what works for me.
>
> But Iain in another thread said gdb 4.6 or 4.7 works best though.

This week we are pretty busy, but the next one I'll try to insert some informations in the wiki (if it is possible!), so that at least we can have some central point to share the _actual_ status of the debuggers functionalities versus the current versions of DMD at least...

- Paolo
September 03, 2013
On 2013-09-02 21:36, Paolo Invernizzi wrote:

> Actually I use lldb: at least it has some pretty tabbed autocomplete on
> files and function number.
> If you know the module, you can start with something like 'D4test' and
> tab to have the symbols.
>
> It works also over file:number so at least you can set some break and
> check the calling frames (sometime is useful, and I don't think this is
> possible with the usual flooding of 'writeln', or no?).
>
> What actually really doesn't work at all is printing locals:
>
>    (gdb) info local
>    No symbol table info available.

DMD doesn't output correct DWARF on Mac OS X. Or it's the regular section names that is the problem. They're missing an underscore.

http://d.puremagic.com/issues/show_bug.cgi?id=8172
http://d.puremagic.com/issues/show_bug.cgi?id=8207

-- 
/Jacob Carlborg
September 03, 2013
On Tuesday, 3 September 2013 at 07:12:17 UTC, Jacob Carlborg wrote:
> On 2013-09-02 21:36, Paolo Invernizzi wrote:
>
>> What actually really doesn't work at all is printing locals:
>>
>>   (gdb) info local
>>   No symbol table info available.
>
> DMD doesn't output correct DWARF on Mac OS X. Or it's the regular section names that is the problem. They're missing an underscore.
>
> http://d.puremagic.com/issues/show_bug.cgi?id=8172
> http://d.puremagic.com/issues/show_bug.cgi?id=8207

Indeed an underscore is missing, as I have to set breakpoints using 'D4test....' instead of '_D4test', but I have no idea about why the symbol table is related to that...

- Paolo

September 03, 2013
On 9/2/13 7:00 AM, Ludovit Lucenic wrote:
> I found only today, that there is something like http://code.dlang.org !
> Looks perfect, why have not I come accross this site already ? Well,
> that's the question.

I wanted to make sure it's stable before we announce it more broadly. Maybe that time has come.

Andrei

September 03, 2013
On Tuesday, 3 September 2013 at 16:12:13 UTC, Andrei Alexandrescu wrote:
> On 9/2/13 7:00 AM, Ludovit Lucenic wrote:
>> I found only today, that there is something like http://code.dlang.org !
>> Looks perfect, why have not I come accross this site already ? Well,
>> that's the question.
>
> I wanted to make sure it's stable before we announce it more broadly. Maybe that time has come.
>
> Andrei

Andrei,
:-D sometimes I have troubles being not too patient...

It's just pity there's so much valuable D stuff all over the place, but not a single go-to-point to find out. I would recommend elaborated concepts, alphas, betas, release candidates, everything be on the Wiki (with the status declared loudly, of course). It might help people to join efforts from the very beginning of their respective projects, not for example three or four half-working web servers ;-) Actually this is a point I decribed in this thread. New people just have to overcome huge 'uncertainty' to become daptized so to speak (a word play on baptized by D).

Regards,
Ludovit

p.s. folks, have you ever noticed the :-D smiley having two beautiful connotations in the context of D community ;-)
1 2 3 4
Next ›   Last »