
Voltron: A hacky debugger UI for hackers - okanesen
https://github.com/snare/voltron
======
Roritharr
Sometimes my girlfriend reminds me that its kinda fucked up that I get excited
when the things I need to understand are presented to me in a more readable
way but still look like the Matrix to her.

~~~
JustSomeNobody
My wife looks over my shoulder and refactors my code.

------
raimue
I saw this before and it always looked like a nice pice of software. The sad
part is, it is still at "0 releases".

To the developers of this software: please provide a stable release that can
be packaged for the popular package managers/distributions. That will help to
spread the word about your work and make it easily accessible.

~~~
boxfire
RTFM? Release versions are on pip. Unfortunately most distros think they have
the one holy package management solution. pip IS a release and distribution
system. With the current popularity of Python, it is only going to be a matter
of time before apt / rpm / etc support working through it.

~~~
tomc1985
It is trivial to generate a .deb from nearly any pip module...

sudo apt-get install devscripts python-all-dev python-stdeb; cd path~to~pip;
python setup.py --command-packages=stdeb.command bdist_deb

~~~
duaneb
It's trivial to do a lot of niche catering and die by a thousand cuts. It's
also trivial to install pip.

~~~
tomc1985
I'd hardly call debian and its derivatives 'niche', but whatever floats your
boat...

~~~
duaneb
It's not niche in terms of OS deployment, perhaps, but a user's request for a
`deb` file over traditional python packaging certainly is.

~~~
tomc1985
Perhaps, but this is to answer the call of 'os-native' packaging. I'd figure
between msi+pkg+rpm+deb you'd have most of the bases covered.

~~~
duaneb
Death by a thousand cuts! Pip is enough for anyone with google.

~~~
tomc1985
This sounds crazy but we are actually in a situation where it is preferable to
deploy python libraries via APT

------
XorNot
I've just never been a fan of console-based debugging. The greatest thing an
IDE brings to the table for me is debugging against a GUI editor window.

~~~
bjackman
I recently discovered you can use GDB from inside Emacs. [1]

Before, I always used some awkward IDE to debug with a live source view, then
switched back to my editor to fiddle with code... but with this things are
finally unified!

(Of course, to use it you first have to be able to tread water in Emacs...)

[https://www.gnu.org/software/emacs/manual/html_node/emacs/GD...](https://www.gnu.org/software/emacs/manual/html_node/emacs/GDB-
Graphical-Interface.html)

~~~
lallysingh
many-windows mode is really nice. But this offers memory dumps, which I miss
from codewarrior.

------
0xdada
I guess the news here is that they now use Capstone. I haven't tried either,
but I'm excited for a de-facto standard open-source disassembler. A lot of
great tools could come out of it. Now if we had something of similar quality
for decompilers...

~~~
seanp2k2
...after IDAPro is pried from many cold, dead hands.

------
jbverschoor
Wow that looks a lot like softice

~~~
viraptor
Very close.
[http://commandercat.com/img/ms06007/softice-1.png](http://commandercat.com/img/ms06007/softice-1.png)

It was a great app.

~~~
snarez
Definitely inspired by other debuggers (OllyDbg, Immunity Debugger, etc) that
were inspired by SoftICE :)

------
jiiam
Seems good. Actually what I like most is that it appears to be well
documented, so it might be worth a try. I always found cumbersome to use
console based debuggers, and wonder if there's any real advantage once the
learning curve as been climbed.

------
idsout
Reminds me of gdb-dashboard [1] with the additional debugging engines
supported. Very nice.

[1] [https://github.com/cyrus-and/gdb-dashboard](https://github.com/cyrus-
and/gdb-dashboard)

------
greggman
So... if it works cool but just in case I thought I'd point out some
alternatives

* emacs [https://www.gnu.org/software/emacs/manual/html_node/emacs/De...](https://www.gnu.org/software/emacs/manual/html_node/emacs/Debuggers.html)

* VSCode [https://code.visualstudio.com/Docs/extensions/example-debugg...](https://code.visualstudio.com/Docs/extensions/example-debuggers)

* Slickedit [https://www.slickedit.com/products/slickedit/343-slickedit-h...](https://www.slickedit.com/products/slickedit/343-slickedit-has-debuggers)

~~~
oneweekwonder
Can those alternatives debug without the source, which seems like one of the
features of voltron?

Adding to your possible alternative list:

* vim [https://github.com/joonty/vdebug](https://github.com/joonty/vdebug)

------
altano
Do people outside of MS actually use WinDbg?

~~~
mpeg
Mostly Microsoft or Windows device driver developers, but also people who want
to reverse engineer device drivers.

There's many DRM / anti-hacking tools that rely on windows drivers to hook
Windows kernel APIs at the lowest level they can.

~~~
snarez
Yeah security people use WinDbg a lot.

------
caf
Does it work with disassembly-flavor att ?

~~~
snarez
No syntax highlighting for AT&T syntax atm. It still displays it, just not
highlighted. Feel free to add a Pygments lexer for it and send me a PR :) I'll
probably get to it some time, but there's other stuff ahead of it in the
queue.

------
svlasov
Cat it be used in a more traditional use case with source available and
locals/watch/etc views?

~~~
snarez
It has a "command" view which executes a debugger command and displays the
output each time the debugger "stops" (ie. whenever you step over an
instruction or a line of code, or hit a breakpoint, etc). So anything you can
do with a debugger command, you can stick in a view.

e.g.

$ voltron v c "fr v"

$ voltron v c "source list -a \$rip"

[http://i.imgur.com/2505o16.png](http://i.imgur.com/2505o16.png)

------
matt4077
<This is where I was being stupid before. I have removed that stupidity.>

~~~
infinite8s
I think you misread the title. It is a system for composing UIs for hackers
running debuggers, not a UI for 'hackernews'.

------
artpar
Reminds me of softice

------
cosarara97
It reminds me of the emacs gdb mode.

------
redsummer
Can't you do this with tmux instead?

~~~
raimue
Read on, this is exactly how it is meant to be used. You can run the various
`voltron view` commands in separate panes.

This would be a nice example configuration:
[https://github.com/tuxotron/voltron-
tmux](https://github.com/tuxotron/voltron-tmux)

------
remindsmeofv
Reminds me of visual studio

------
js8
Looks like a nice operating system, but it seems to lack a decent editor..

Edit: Downvoters, can you care to explain? I would actually like someone to
reinvent Emacs (or Vim, for that matter) as something more general.

~~~
nxzero
(This is not an operating system.)

~~~
js8
For lack of a better word, yes! You're taking it too literally - if I wrote
something else, then I couldn't make a subtle reference to Emacs.

I wish this project success, and if it will be successful, it will no doubt
evolve into having it's own scripting language and other things. Basically, it
will become "operating system" like Emacs.

PS. It's unfortunate that people here downvote for misunderstanding a common
reference.

~~~
gjm11
> It's unfortunate that people here downvote for misunderstanding a common
> reference.

No, people here downvote for saying things that don't actually add to the
conversation. "Hey, I know an old joke about Emacs!" doesn't add anything to
the conversation here. (Voltron is not particularly Emacs-like; its readme
says in its second paragraph that it "doesn't aim to be everything to
everyone"; it's not a thing anyone is going to spend all their time in; the
parallels it would take to make the reference apposite really aren't there.)

Also, I think you botched the joke; "... but it seems to lack a decent
debugger" would have fitted the pattern better. (But it still wouldn't have
been either very funny or very insightful.)

Oh, and I downvoted your second comment for complaining about being downvoted;
I have a policy of always downvoting waah-I-was-downvoted comments when I see
them. (Unless what they're complaining about is a very clear injustice, which
it isn't here.)

~~~
js8
Actually, I didn't botch the joke - it was you who missed the subtle point I
was making. I think that, paradoxically, this may evolve eventually to more
complete (operating) system with an editor, just like Emacs has a debugger.

That's why I asked the question, and made a clarification (which unfortunately
killed the reason for being subtle) - your "doesn't add anything to the
conversation" missed the point! (Actually, downvoting without a comment
doesn't addd anything to the conversation either.)

~~~
sp332
It looks like your original post doesn't actually say any of those things.
There's a line between subtle and uncommunicative.

~~~
js8
I think the 1st does, if you're willing to entertain the idea that it's not
just the old joke about Emacs. The 2nd one actually explains it quite well.

In any case, I think that downvoting without a comment crosses that line too.
Sadly, the only guy who was willing to explain his disagreement with my
original comment got downvoted too.

~~~
scrollaway
> _I think that downvoting without a comment crosses that line too_

You're not being "downvoted without comments". gjm11 has made the effort of
explaining to you why he's downvoting you. Expect a lot of people to feel the
same way.

Your comment was unnecessary, unjustified, insulting and you're still
defending it. Don't be surprised.

~~~
js8
I wonder what you think was insulting in it? I was not particularly defending
it, merely explaining the original intent; I don't see any insult in it.
(Actually I wish people would discuss the valid point I made, as marssaxman
did below, rather than the segway.)

gjm11 explained his downvote, but after I asked. He was also downvoted
(temporarily) for some reason.. I don't understand why calm debate about why
something was downvoted is a source of so much emotions, that people have to
downvote it as well.

It makes me unhappy when people downvote without commenting, because it
doesn't add to a discussion either.

