Ask HN: Do you use a debugger?

15 points by karamazov ↗ HN
If so, (or if not), for which languages?

24 comments

[ 2368 ms ] story [ 1947 ms ] thread
Of course!

Common Lisp's debugger, accessed via slime is the best thing since running water.

Also a big fan of WingIDE's debugger for python.

I'm surprised at how few frontend developers make use of JavaScript's 'debugger;' statement. I find it invaluable.
It really saves your ass when you're using underscore templates too.
Especially when debugging JavaScript in an environment without any built-in browser debugger. If you ever have to debug JavaScript running inside a .NET WebBrowser control the debugger statement will help you keep your sanity.
Prolifically in Python, JavaScript, and Clojure (sorta. I find Ritz annoying.)
Can you point to your favourite approaches (import pdb; pdb.set trace() in console or wingide or ?
I have an emacs macro that redirects stdout and hooks in ipdb, the i here is important because it's an ipython wrapped pdb session. It's amazing.

JS is the usual Chrome debugger instrumentation.

Clojure is a mixture of REPL, println, and Ritz. Tbqh, Clojure needs an ipdb equivalent. Ritz is really ghetto. I realize the REPL suffices for most people but I'm accustomed to injecting my full programming environment dynamically into my runtime, not having two disjoint realities.

On very few occasions have I ever faced a need to use a debugger.

Generally those situations are places where print statements are not allowed.

gdb. I work in system software, so cross platform debugger is what helps to catch issues easily.

edit: gdb to debug asm and C code

how can you not use debugger and program/find defects. I mean for sure you can do print and alert, but that is highly inefficient way of debugging.
When I work with C#, I use a debugger all the time. Learning how to attach a debugger to a running process saves a lot of headaches in the long run.

On the other hand, when I work with Python, I rarely had to use a debugger. Python's grammar is so simple that simply reading through the code is usually enough to spot most errors.

Having been spoilt by the calibre of Microsoft debugging tools earlier on in my development career it's one of the very first things I get working when approaching new environments/languages. It's especially helpful when learning a language as experimentation is often a lot quicker than RTFM.
For me, TDD, a REPL and the occasional console print statement almost completely eliminates the need for a debugger. That being said, I probably fire it up every couple of months when working on a java or .net project. #java #scala #ruby #javascript #.net
Yes, I use debugger oftenly for GCC and I use GDB debugger for same.
IF the problem lends itself to debugging then a hearty "YES!" is my answer. Eclipse/Java is my debugger of choice but there are also fine standalone debuggers like JSwat or even the command line debugger.
Yes. Live, step by step debugging of fresh code is the best ever way to find hidden bugs that are otherwise undetectable by tests.
I (mostly) write Scala and have never used a debugger. I'm not aware of any of my immediate colleagues who use one either.
Yep! The Chrome debugger for js, and pry-debugger for ruby.
With PHP...Xdebug which is incorporated in Netbeans IDE
OllyDBG every day, for x86 assembler :)