tag:blogger.com,1999:blog-5236867476487043111.post5695988209036399476..comments2024-03-11T07:55:47.104-04:00Comments on Corey Goldberg: "Wolf Fence" DebuggingCorey Goldberghttp://www.blogger.com/profile/06219872951977664560noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-5236867476487043111.post-87253865752855962662017-08-30T14:34:16.095-04:002017-08-30T14:34:16.095-04:00I learned the technique in 1980 from Dr Bernard Ho...I learned the technique in 1980 from Dr Bernard Howard as the fox fence method, and it wasn't new then. Andrewhttps://www.blogger.com/profile/03350070858136907255noreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-77760366332661650312010-10-09T19:04:49.096-04:002010-10-09T19:04:49.096-04:00Apparently my existence (as a baby) inspired the a...Apparently my existence (as a baby) inspired the author (Edward Gauss) to have his first child. I guess the Alaskan Math&CS community was _really_ small in the 70s/80s.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-90893980550345463042008-12-07T12:11:00.000-05:002008-12-07T12:11:00.000-05:00This reminds me of when I was doing game programmi...This reminds me of when I was doing game programming on the Commodore 64 and other 8-bit game platforms back in the '80s. <BR/><BR/>These platforms did not have anywhere to 'print' to, but most of them has a memory address that mapped to a graphics register to set the screen border colour. A common debugging technique was to insert statements at key points in the code to change the border to a specific colour. As the program ran the border would become a psychedelic swirl of colours, and if it crashed the border colour would immediately tell you which bit of code it was in when the crash happened. <BR/><BR/>You could also use the same technique for performance tuning - if the swirl of border colours were mostly showing red, then you knew that the 'red' section of code was taking the most time. <BR/><BR/>I eventually wrote my own debugger that would let me set breakpoints that could execute a short piece of code then continue running - this let me change the points in the code that changed the colour without having to recompile the source.<BR/><BR/>Oh happy days...Dave Kirbyhttps://www.blogger.com/profile/05692608289845036146noreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-18997169878105646062008-12-03T09:29:00.000-05:002008-12-03T09:29:00.000-05:00Jarrod,I think it is personal preference and what ...Jarrod,<BR/>I think it is personal preference and what fits best with the language.<BR/><BR/>When I work in Java, Eclipse and the Debugger are my best friends.<BR/><BR/>When I work in Python, I don't use and IDE or a Debugger, nor have I ever felt the need for either.Corey Goldberghttps://www.blogger.com/profile/06219872951977664560noreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-4186234543133051612008-12-03T09:22:00.000-05:002008-12-03T09:22:00.000-05:00lorg, the debuggers support "conditional" break po...lorg, the debuggers support "conditional" break points which means I can set a break point that says when x = 100000 break, or when a loop passes 100000 break, or when name = "" or whatever, there really is no reason to not do step debugging, that and the ability to "watch" variables, I think it is an issue of just not understanding the tools available.Jarrodhttps://www.blogger.com/profile/11635707420555219899noreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-6536768742953656502008-12-03T02:36:00.000-05:002008-12-03T02:36:00.000-05:00Jarrod:I disagree. Sometimes you have a situation ...Jarrod:<BR/>I disagree. Sometimes you have a situation where stepping through with a debugger is nigh impractical. For example, a very long loop with several steps in each iteration.<BR/>At iteration 10,000+ the loop fails in one of the stages (the exact iteration number is not consistent), and you want to know why.<BR/>Printing to console/a log file and looking at the last lines will usually result in faster debuggingAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-39681306971145640612008-12-02T22:45:00.000-05:002008-12-02T22:45:00.000-05:00given that every major language has robust step de...given that every major language has robust step debugging available in a multitude of IDE's there is no excuse for using print statements to try and debug something. It is criminal not to use a debugger in Java, and since Komodo has awesome support for debugging, it is a travesty in Python as well. I bought the personal version of Komodo the 3.x series ( $35 US ) before they did away with an affordable version with a great debugger.Jarrodhttps://www.blogger.com/profile/11635707420555219899noreply@blogger.comtag:blogger.com,1999:blog-5236867476487043111.post-33889006714059824302008-12-02T17:14:00.000-05:002008-12-02T17:14:00.000-05:00This doesn't preclude use of a debugger. I do the...This doesn't preclude use of a debugger. I do the same sort of 'binary search' but by setting breakpoints in a debugger. It's much quicker doing that than writing print statements, particularly if you can use conditional breakpoints to isolate the case you're concerned with.Anonymousnoreply@blogger.com