I have a problem I have absolutely no clue why this happens: https://github.com/nim-lang/Nim/pull/5664
In order to find out why this happens I would like to debug the compiler. Since I think that the problem is somewhere in the generated C code I would like to debug the generated C code. This means I would like to compile the nim files in release mode (no source map), but then when I compile the c files, I would like to compile them with debug information, so that I can see where in the C code I am. So how can I do this?
Your problem is very unlikely to be in the generated C code and just a logical bug. (Of course that's just a very educated guess though.)
Your question is easily answered when you consider that compiler flags are orthogonal, so -d:release --debugger:native works. Or --checks:off --lineDir:off --debugger:native.
nim.cfg contains this:
@if release or quick: obj_checks:off field_checks:off range_checks:off bound_checks:off overflow_checks:off assertions:off stacktrace:off linetrace:off debugger:off line_dir:off dead_code_elim:on @end @if release: opt:speed @end
Knowing this, you can also use -d:quick --debugger:native.