Talk:Debugging

Latest comment: 2 hours ago by Stevebroshar in topic Debugging is not just for software

JTAG, microcontrollers edit

There should be a mention of e.g. JTAG -interface. Perhaps a connection to microcontrollers and such also. --Korppi 01:23, 7 November 2005 (UTC)Reply

Illustration edit

The illustration should really be C or C++ code, not html. Minor point but that's the geek in me. Nils Jeppe 10:12, 13 March 2006 (UTC)Reply

I agree, and also, why is it simply a picture of code with syntax highlighting? How about showing a picture of an actual debugger running? Perhaps GDB?

I also agree and I have removed it. Something like a command line debugger stepping through a program would be much more relevant. --Avochelm 04:01, 10 August 2006 (UTC)Reply

Origin edit

The word debugging and the word bug are not the same.

Some time ago I added a reference in the "origin" section of this article with the first definition of the word debugging by Myers in 1974. I have not seen any references to the words debug or debugging that are earlier than that. Does anyone know of one?

There are much earlier references to the word bug - the famous Admiral Hopper story in the 1940s and a much earlier reference by Edison in 1878. Fine, but neither reference uses the word debugging so surely they belong in the "Computer bug" article not in this article. Any comments?

Neilm 11:38, 18 May 2006 (UTC)Reply

I noticed the edit to the article and revised it before I saw this comment. I noticed the same thing you did. Hopefully my edit is close to what you would have done. Feel free to tweak my tweak. ;^) wrp103 (Bill Pringle) 12:55, 18 May 2006 (UTC)Reply
Thank you, your edits have made this section into one with a much better NPOV. I did tweak it, but just for minor clarification. Neilm 20:10, 18 May 2006 (UTC)Reply

Tools (2nd paragraph) edit

It is not true that exception handling makes debugging easier. And it is not true, that for example C++ is easier to debug than C because of the existance of exceptions.--09:09, 13 July 2006 (UTC)

If you have exception handling, you can automatically print out valuable information any time an error occurs. Without it, you have to insert such print outs before the error occurs, which means you have to insert a lot of statements or wait until one occurs and then add the statements (or figure it out from the nature of the error). wrp103 (Bill Pringle) 10:30, 13 July 2006 (UTC)Reply

Wikipedia is not a handbook edit

The latter part of the article seems to be a series of debugging tips and instructions, addressed at the reader. That's WP:NOT what wikipedia's about. --대조 | Talk 10:57, 25 October 2006 (UTC)Reply

I already moved this part to Wikibooks. Dekart (talk) 08:15, 5 April 2008 (UTC)Reply

Debugging is tiring? edit

"Debugging is, in general, a cumbersome and tiring task [...]"

This is nonsense. Debugging is neither unwieldy nor inelegant (these are the meanings of "cumbersome") and neither does it necessarily make it tired. Perhaps the poster meant "a time-consuming and tiresome task". I'll change the text accordingly. — Paul G (talk) 16:41, 11 September 2008 (UTC)Reply

Pros to anti-debugging? edit

It would be good to have some reasons why someone would want to hinder debugging a program, and perhaps a link to code obfuscation. David Souther (talk) 18:38, 24 June 2009 (UTC)Reply

To protect your programs from reverse engineering. Darkaero (talk) 21:51, 16 February 2011 (UTC)Reply

Objectivity, not editorializing. edit

We must strive to be factual and objective, and follow all guidelines, when possible. "Easy" is purely objective, and thus cannot be seen as "factual". The editorializing under the "Tools" section is being removed. GuavaSquash (talk) 05:00, 4 July 2009 (UTC)Reply

That was vandalism rather than editorializing. --Cybercobra (talk) 05:46, 4 July 2009 (UTC)Reply

Newer Debugging Processes edit

Debugging functions (grouped lines of code) is problematic because the side-effect of any line can cause multiple other side effects. At exit it will be unknowable which line is offending.

Newer debugging process can step through functions and displays or edit static variables while doing so: but not edit the functions themselves. Watch for a condition is often a feature (used when such a watch would be intrusive in code even optionally, or just freely to find bug).

Higher level code like Mathematical software operates on the bases of freely writing lines and using them in any order. However this is broken when one creates a function: the dubug process again will be unknowable at exit of the function.

CreateModule helps alleviate this by automatically creating functions out of a group of lines, so that while debugging one can both truly edit lines and execute in any order "during runtime" yet not have to separately write (or cut and paste) a group of lines into a function and fun header. — Preceding unsigned comment added by Sven nestle2 (talkcontribs) 22:26, 6 October 2013 (UTC)Reply

Vandalism? edit

I'm pretty sure the entomology of the term "debug" is not derived from some gangster/programmer. — Preceding unsigned comment added by 12.11.145.74 (talk) 13:19, 5 August 2015 (UTC)Reply

Right, it was the result of a "wave" of vandalism. — Dsimic (talk | contribs) 07:28, 2 September 2015 (UTC)Reply

debugging second meaning edit

I have added the text :

Debugging is also being used by Android to mean accessing already written modules that allow a piece of software to interface with another piece of software. [1] This is thus not fixing a problem that is in poorly written software, but accessing a library to enable already properly programmed software to work. Windows and other operating systems also use this meaning of debugging as can be seen in the list of Windows debugging tools [2].

and put 2 references to show this usage. It seems to be quite common. Unfortunately often it is conflated with the first meaning in how debugging is described. One editor has removed this claiming that it is a very specific usage. I cannot see any wikipedia guideline saying that specific usage within an article makes it not relevant. I clearly have made it a second meaning - as any dictionary entry would do. I do not want a pointless edit war over someone thinking the main usage should be the only meaning listed and me finding it helpful to know why so much software is bundled with "debugging tools" - when most users are NOT programmers and find turning off or deleting these toold means their software does not work. — Preceding unsigned comment added by 88.115.204.102 (talk) 05:07, 9 September 2019 (UTC)Reply

It appeared to me that the first reference, https://www.makeuseof.com/tag/what-is-usb-debugging-mode-on-android-makeuseof-explains/, was not a reliable source. I've looked and I could be persuaded that it might be, however as Drmies wrote on your talk, it's a very narrow use of the term, and it's not really different that what's done by a developer using an IDE. The main difference is the sandbox for the code is on the mobile device: "developers need to enable USB debugging so they can push apps to their devices to test and interact with". It is working with the device so they can fix problems. And for the record, debugging isn't about fixing problems with poorly written code either, it's the "process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system." The code may be well written, but it still exhibits problems. This use of debugging is an extension of the term. Walter Görlitz (talk) 05:18, 9 September 2019 (UTC)Reply
Thank you Walter. Any secondary or alternate meaning needs to be rigorously documented with impeccable sources; these aren't. Drmies (talk) 13:49, 9 September 2019 (UTC)Reply

Debugging is not just for software edit

The history section indicates that debugging was used outside the software realm as far back as the 1940s. In that light, I updated the lead to be less software specific, but the article is still pretty software centric. Anyone have non-software content to add? Stevebroshar (talk) 13:49, 29 April 2024 (UTC)Reply

@Laiwoonsiu WRT change https://en.wikipedia.org/w/index.php?title=Debugging&curid=24998792&diff=1223754238&oldid=1222986014 with comment Deleted unit testing and integration testing from debugging tactics. According to the Software Engineering article in Wikipedia, software construction “typically involves programming (a.k.a. coding), unit testing, integration testing, AND debugging”

I do think that running tests is a debugging technique and I don't think the reason for removal is sound.

I think both unit and integration testing may or may not fall into the construction phase. Also, neither are very typically performed. So, the referenced WP article is unclear if not wrong IMO.

Further, I also don't think one article should be used as the source of truth for another.

Then again, running tests is not what most people typically think of as debugging. IMO, the current wording "debugging tactics can involve" is ambiguous and should be changed to use wording like: "debugging tactics include but are not limited to:..."

The word can is surprisingly ambiguous. Consider: You can't but too much water in a nuclear reactor. Stevebroshar (talk) 16:39, 14 May 2024 (UTC)Reply