Looks like the issue is that Zig is outputting line information for the 'main' function in hello.zig twice to the PDB.
Line information for the function 'main' shows:
- Line number: 3; offset: 0x00
- Line number: 5; offset: 0x0a
- Line number: 5; offset: 0x1e
- Line number: 8; offset: 0x4c
- Line number: 8; offset: 0x60
- Line number: 3; offset: 0x82 <- unexpected
RemedyBG's problem is that it uses the first and last entries as the range of lines for a function (this seemed
like a reasonable thing to do). This means the range for 'main' ends up being start: 3 to end: 3. I can change the code to compute the proper range.
BTW, it looks like Visual Studio appears to pick the second entry when you put a breakpoint on line 3. This is why it breaks on function exit and not at the beginning of the function like you would expect.