Re:Rust in 2017: what we achieved
by bluejekyll on Thursday December 21, 2017 @04:45PM
(#15983089)
> Like it'll skip lines, or stay on the same line for many steps.
I've never hit these problems, though I have the source for everything I'm compiling in Rust in general.
I've run into it before, but it's not usually too serious. It only usually happens on lines with compound expressions or chained calls like this:
foo.into_iter().map(|x| x+1)
.filter(|y| y > 2)
My working theory is that it's related to situations where there's multiple statements on the same source line (or inside a block inside a lambda).
Re:Rust in 2017: what we achieved
by bluejekyll on Thursday December 21, 2017 @06:17PM
(#15983816)
Yeah, quite possibly. I feel like I've stepped through some pretty gnarly iterator chains and it's worked surprisingly well. It is rare that I actually need to turn to the debugger, so I could be mistaken.
I've encountered a couple annoyances:
A. Using rustc to link somehow removes debugging information from static libraries I wrote in assembly [2]. This is extremely annoying, but I haven't had time to really look into it and it seems others can't reproduce it.
B. There seem to be some occasional oddball problems when stepping through code. Like it'll skip lines, or stay on the same line for many steps. And also an annoyance regarding how that VS Code extension handles "Step Into" for functions you don't have the source for: you can easily get into an infinite popup situation and have to restart the debugger.
IMO the sad truth is that if a great debugger is a prerequisite to use a language, then you're limited to about 5 total languages.
[1] https://marketplace.visualstudio.com/items?itemName=webfreak...
[2] https://github.com/rust-lang/rust/issues/45218