D for Game Development

Rick via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 5 08:08:45 PDT 2015


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.


More information about the Digitalmars-d mailing list