First, see [semi-official guide on Nim debugging](https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html#debugging-nim-code).
Also this is an excellent guide: <https://internet-of-tomohiro.netlify.app/nim/gdb.en.html> `start` doesn't work as you'd expect because in Nim there are multiple mains: one is C's and other one defined in your source code. Gdb's `start` tries to find C's `main` in Nim code and it's probably not very useful for you. To get to the useful main (one in your source file), you can just set a breakpoint `b test::main` and `run` until it reaches it. Then everything including `list` should work as normal.