Issues with debugging GC-related crashes #2
Johannes Pfau
nospam at example.com
Thu Apr 19 07:04:14 UTC 2018
Am Thu, 19 Apr 2018 06:33:27 +0000 schrieb Johannes Pfau:
>
> Generally if you produced a crash in gdb it should be reproducible if
> you restart the program in gdb. So once you have a crash, you should be
> able to restart the program and look at the _dso_registry and see the
> same addresses somewhere. If you then think you see memory corruption
> somewhere you could also use read or write watchpoints.
>
> But just to be sure: you're not adding any GC ranges manually, right?
> You could also try to compare the GC range to the address range layout
> in /proc/$PID/maps .
Of course, if this is a GC pool / heap range adding breakpoints in the
sections code won't be useful. Then I'd try to add a write watchpoint on
pooltable.minAddr / maxAddr, restart the programm in gdb and see where /
why the values are set.
--
Johannes
More information about the Digitalmars-d
mailing list