D for Game Development

John Colvin via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 5 10:53:50 PDT 2015


On Wednesday, 5 August 2015 at 15:08:46 UTC, Rick wrote:
> On Wednesday, 5 August 2015 at 09:03:47 UTC, John Colvin wrote:
>> On Tuesday, 4 August 2015 at 19:14:51 UTC, Rick wrote:
>>> Unfortunately I'm regrettably having to reconsider my 
>>> decision to start a game project (or any project requiring 
>>> significant time investment) in D.  Not because of the 
>>> language or compiler, but rather because of the lack maturity 
>>> in the supporting tools; specifically, a debugger.  I should 
>>> say upfront that this seems to be more gravely affecting OSX 
>>> than other platforms, but scouring forums and wikis has made 
>>> it apparent that no platform is completely devoid of 
>>> obstacles when it comes to functionally debugging D programs.
>>>  To a certain extent, one can alternatively diagnose and fix 
>>> bugs with verbose logging, assertions, and exceptions; but 
>>> memory related bugs become exponentially more difficult to 
>>> work through without being able to properly breakpoint, step 
>>> through execution, and observe all variables in the current 
>>> scope.
>>
>> gdb works fine on OS X and has D support.
>
> Can you enlighten me as to what configuration you've confirmed 
> this on?  I'm on
> OSX: 10.9.5 (Mavericks)
> GDB: GNU gdb 6.3.50-20050815 (Apple version gdb-1824) (building 
> newer from source tends to fail to compile)
> DMD: DMD64 D Compiler v2.067
> GCC: Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 
> 3.5svn)
>
> At best, I can _sometimes_ hit breakpoints when using Mono-D, 
> it's inconsistent.  Even when a breakpoint is hit however, GDB 
> only recognizes the current 'this' value; it doesn't recognize 
> any frame / local variables other than 'this', global 
> variables, etc., though it does recognize the call-stack at 
> least.  When using GDB directly from a terminal, the only D 
> source file it recognizes for the purpose of setting 
> breakpoints or listing source code is app.d (which contains the 
> main() entry-point).
>
> Also have tried compiling with all combinations of -g, -gc, 
> -debug, -gs, and -cov.  None seem to improve the situation.

Yeah that's apple messing with you, that gdb is old. See 
http://ntraft.com/installing-gdb-on-os-x-mavericks/ for proper 
installation instructions.

P.s. I help maintain homebrew packages for a bunch of D stuff, 
its generally more up to date than macports and even has the 
current betas/rcs as well as support for building from master.


More information about the Digitalmars-d mailing list