Hacker News new | ask | show | jobs
by titzer 503 days ago
Nice project!

One killer feature would be the ability to connect to the debugger via a socket and control it. Gdb has this interface and for some use cases it's great.

As one of those long-tail "native" languages, Virgil might benefit from this. So far, I've had a student build a DWARF backend, and the experience from that is that DWARF is way too complicated and consequently implementations are broken and crappy in many ways. I think DWARF draws the wrong dividing line here. Control of the machine and customizing the source-level support to the language is probably better.

3 comments

Speaking as a Java guy, remote debugging is SO useful (at times anyway). Thankfully the JVM has built in support for a remote debugging protocol[1] and there are good debuggers that can connect to a running Java system (if it was started with the correct command line flags) and do symbolic debugging over the network.

There can be certain situations where the network latency can make things difficult, but generally speaking I find it an incredibly useful facility to have.

[1]: https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/...

Which debuggers do you like the most?
> the experience from that is that DWARF is way too complicated

The representation and the compression are far too intertwined :(

Oh, and there needs to be some sort of declarative, rules-based DWARF checker. Preferably one that doesn't only work on complete files (or collections of files) but also handles snippets.

If it's fast and can work on snippets before they are even written to disk, we can probably catch many compiler bugs.

Have it use the WebKit debugger protocol and we can use browser dev tools as the UI.

:p