A cross-platform debugger for Go
blog.mailgun.com
A cross-platform debugger for Go
1–10 of 65 posts
Re: A cross-platform debugger for Go
#2It's unusual and it's opinionated, but it works.
Re: A cross-platform debugger for Go
#3Re: A cross-platform debugger for Go
#4There's a more, er... traditional, debugger for Golang in the works: https://github.com/derekparker/delve
It seems like he tried to use delve and it wasn't portable at the time. Sure he could have worked on making delve portable instead, but he probably learned a lot more poking around the internals himself.
Re: A cross-platform debugger for Go
#5There's a more, er... traditional, debugger for Golang in the works: https://github.com/derekparker/delve
Re: A cross-platform debugger for Go
#6This demonstrates the power of Go generators. We're seeing what are typically language features such as generics and debugging being implemented before runtime using code generation. The result is more functionality without an overall increase in runtime size or decrease in runtime performance. It's unusual and it's opinionated, but it works.
Re: A cross-platform debugger for Go
#7This demonstrates the power of Go generators. We're seeing what are typically language features such as generics and debugging being implemented before runtime using code generation. The result is more functionality without an overall increase in runtime size or decrease in runtime performance. It's unusual and it's opinionated, but it works.
Monomorphization is a bog-standard implementation technique for generics. It's not at all unusual.
Re: A cross-platform debugger for Go
#8Re: A cross-platform debugger for Go
#9While I totally applaud this effort, how does it not lie? It inserts code into the actual source claiming it is on a line in the original file, but it is in a different line in the compiled version. That seems like it could be a problem at some point, and despite the serious utility in this, I'm not 100% convinced it is the right tool for the job.
Two cases I have thought of are stack traces and logging that inspects the stack. In the former case, if you get a stack trace while debugging it will not mean much because the lines do not match those of your code. In the latter case, logging statements may print the wrong things if they depend on being called a certain number of stack frames below user code. glog does this, for example[1]. I don't have solutions to either case yet, but I have some ideas of how to start. I think the utility the tool provides is well worth those two issues, and I'm hopeful that both can be fixed.
Re: A cross-platform debugger for Go
#10While I totally applaud this effort, how does it not lie? It inserts code into the actual source claiming it is on a line in the original file, but it is in a different line in the compiled version. That seems like it could be a problem at some point, and despite the serious utility in this, I'm not 100% convinced it is the right tool for the job.