macOS: debugging hell - strange behavior in lldb and gdb

John Colvin via Digitalmars-d-debugger digitalmars-d-debugger at puremagic.com
Tue Feb 14 15:56:22 PST 2017


On Tuesday, 14 February 2017 at 23:35:15 UTC, Relja Ljubobratovic 
wrote:
> On Tuesday, 14 February 2017 at 20:32:53 UTC, John Colvin wrote:
>> The docs say it is, but they could be wrong. Could you run dub 
>> with -v (and without any manually added -gc) and share the 
>> output?
>
> Sure, here's what I'd think is the relevant part:
> Performing "debug" build using ldc2 for x86_64.
> File '/Users/relja/Projects/dlangplayground/dub.json' modified, 
> need rebuild.
> dlangplayground ~master: building configuration "application"...
> ldc2 -mcpu=haswell 
> -of.dub/build/application-debug-posix.osx-x86_64-ldc_2071-A59B2D18A3A7E59FF17DA8905B6773B0/dlangplayground -d-debug -g -w -oq -od=.dub/obj -d-version=Have_dlangplayground -Isource/ source/app.d -vcolumns
>
> So, no -gc.

-g is there though, which is actually what the docs say.

gdb should suppport D (assuming it's not an ancient gdb), so -g 
should be better there. Overall, gdb is a better debugger for D. 
-g means D debug info, -gc means pretend to be C.

The most portable way to get -gc in your debug builds, add this 
to the project's dub.sdl
buildType "debug" {
	buildOptions "debugMode" "debugInfoC"
}
or if you're using dub.json:
"buildTypes": {
	"debug": {
		"buildOptions": ["debugMode", "debugInfoC"]
	}
}

> Btw. it seems like I'm using dub v1.1.2 from homebrew:
> $ dub --version
> DUB version unknown, built on Jan 16 2017
>
> $ readlink /usr/local/bin/dub
> ../Cellar/dub/1.1.2/bin/dub
>
> I'll test this with newer releases in the next few days, and if 
> situation is the same, I'll file a bug.
>
> Once again, thanks man - feels fantastic having a debugger once 
> again! :)
>
> Cheers,
> Relja

I maintain the D packages in homebrew, so let me know if you have 
any problems. homebrew is up to date with the latest stable dub 
release, so a quick brew update && brew upgrade dub should get 
you up to date..


More information about the Digitalmars-d-debugger mailing list