delphi debugging = luxury

Hi,

Are we Delphi developers spoiled in terms of debugging?

I'm reading the book "coders at work". The coders were asked how they 
debug. Most answered "print" statements. Other answered "reading the 
code until the bug was found". The coders use among others the following 
languages: Lisp, Haskel, JavaScript, Java, Perl ...

Until the first Delphi version I used I always use the debugger. Make 
breakpoints, read the values of the variables, modify them, go step by 
step through the code and so on. I can't believe that Delphi is the only 
ide/language which have a good debugger? Without the debugger, I can not 
work. That would be so unproductive.

Regards
Mathias
0
Mathias
4/10/2014 12:33:18 PM
embarcadero.delphi.general 4258 articles. 0 followers. Follow

10 Replies
633 Views

Similar Articles

[PageSpeed] 24

Mathias Pannier wrote:

>  I can't believe that Delphi is
> the only ide/language which have a good debugger? 

Most, if not all, modern development environments include a debugger of
some sort.  That doesn't mean that people use it, however.

-- 
Cheers,
Van

"Good judgment comes from experience, and a lot of that comes from bad
judgment." - Will Rogers
0
Van
4/10/2014 5:57:03 PM
On 2014-04-10 12:33, Mathias Pannier wrote:> Are we Delphi developers spoiled in 
terms of debugging?
 >
 > I'm reading the book "coders at work". The coders were asked how they
 > debug. Most answered "print" statements. Other answered "reading the
 > code until the bug was found". The coders use among others the following
 > languages: Lisp, Haskel, JavaScript, Java, Perl ...
 >
 > Until the first Delphi version I used I always use the debugger. Make
 > breakpoints, read the values of the variables, modify them, go step by
 > step through the code and so on. I can't believe that Delphi is the only
 > ide/language which have a good debugger? Without the debugger, I can not
 > work. That would be so unproductive.

In 1993 I was already using PLITEST on IBM z/OS systems, to interactively debug 
PL/I. Well before that there was the IBM Checkout PL/I compiler that could more 
or less do the same, be it line-oriented. The tool is now called Debug Tool and 
can be used to debug mixed source (COBOL + PL/I + C + C++) programs.

Robert
0
Robert
4/10/2014 8:22:48 PM
Robert Prins wrote:

....Debug Tool and can be used to debug mixed source (COBOL + PL/I + C +
C++) programs.

Gee that sounds like a lot of fun ;)
0
Per
4/10/2014 9:22:08 PM
Mathias Pannier wrote:

> Hi,
> 
> Are we Delphi developers spoiled in terms of debugging?
> 
> I'm reading the book "coders at work". The coders were asked how they 
> debug. Most answered "print" statements. Other answered "reading the 
> code until the bug was found". 

Well, that still makes sense. Instead of stepping through breakpoints
in a long loop, a nice OutputDebugString here and there will not
disturb the flow and can give me all the information I need.

-- 
Rudy Velthuis (TeamB)    http://www.teamb.com

"Oh, how bitter a thing is to look through another man's eye."
 -- William Shakespeare
0
Rudy
4/11/2014 8:20:25 AM
I remember the "good" old cobol, pascal and clipper days.
Each of them had a debugger that was pretty good for those times.

The debugging features of visual studio are the one ones I know of that come near the Delphi debugger.
They would even be good if they got rid of all the tons of useless information you get when hovering over an object.
They show so much data but never what I am looking for, like errormessage and property values for example.
I always need to start digging in it to find that stuff...
0
Guido
4/12/2014 8:24:54 AM
> {quote:title=Mathias Pannier wrote:}{quote}
> The coders use among others the following 
> languages: Lisp, Haskel, JavaScript, Java, Perl ...

Some of the languages you listed offer interactive interpreters which would allow the developer to examine values or even modify code, which will give you the same benefits as the Delphi debugger. 

 
> I can't believe that Delphi is the only 
> ide/language which have a good debugger? 
>Without the debugger, I can not 
> work. That would be so unproductive.

A significant chunk of developers eschew what they call "IDE culture" and wouldn't want to work with an IDE:

http://michaelochurch.wordpress.com/2013/01/09/ide-culture-vs-unix-philosophy/


Even MARCO CANTU once weighed in against IDE culture in 1999:

http://www.marcocantu.com/papers/RADbad.htm

Some books or online tutorials actually actively discourage people from using debuggers. I ran across this, for instance:


>Tips For Debugging
>
>1.    Do not use a "debugger." A debugger is like doing a full-body scan on a sick person. You do not get any specific useful information, and 
>you find a whole lot of information that doesn't help and is just confusing.
>2.    The best way to debug a program is to use print to print out the values of variables at points in the program to see where they go wrong.
>3.    Make sure parts of your programs work as you work on them. Do not write massive files of code before you try to run them. Code a little, 
>run a little, fix a little.

So there are many different ways to do things (and some work better for certain languages/environments/problems) and we can all learn by looking at how different people do things.
0
Joseph
4/13/2014 9:27:18 PM
Joseph Mitzen wrote:
> Some books or online tutorials actually actively discourage people from using debuggers. I ran across this, for instance:
> 
> 
> > Tips For Debugging
> > 
> > 1.    Do not use a "debugger." A debugger is like doing a full-body scan on a sick person. You do not get any specific useful information, and 
> > you find a whole lot of information that doesn't help and is just confusing.
> > 2.    The best way to debug a program is to use print to print out the values of variables at points in the program to see where they go wrong.
> > 3.    Make sure parts of your programs work as you work on them. Do not write massive files of code before you try to run them. Code a little, 
> > run a little, fix a little.
> 
> So there are many different ways to do things (and some work better for certain languages/environments/problems) and we can all learn by looking at how different people do things.

I'm sure glad I never ran into that advice!!!!!!!
I wouldn't know how to act were it not for the Delphi debugger and MadExcept's stack trace.

-- 
don't Tred on me
0
John
4/14/2014 2:57:11 AM
"Joseph Mitzen" wrote in message news:668082@forums.embarcadero.com...
>
>>Tips For Debugging
>>
>>1.    Do not use a "debugger." A debugger is like doing a full-body scan 
>>on a sick person. You do not get any specific useful information, and
>>you find a whole lot of information that doesn't help and is just 
>>confusing.

I would suggest the tipper in this case just can't be bothered learning how 
to USE the debugger. What ignorance advice!

>>2.    The best way to debug a program is to use print to print out the 
>>values of variables at points in the program to see where they go wrong.

I do that sometimes *too*, it's handy for getting a *lot* of information 
more quickly, especially to check expected results.

>>3.    Make sure parts of your programs work as you work on them. Do not 
>>write massive files of code before you try to run them. Code a little,
>>run a little, fix a little.

This last one I can agree with and is one of the big advantages of having a 
very fast compile time like Delphi/Pascal has always had over, for example, 
C/C++.


-- 
Wayne Niddery
"You know what they call alternative medicine that has been proven to work? 
Medicine." - Tim Minchin
0
Wayne
4/14/2014 3:11:26 AM
>> Tips For Debugging
>>
>> 1.    Do not use a "debugger." A debugger is like doing a full-body scan on a sick person. You do not get any specific useful information, and
>> you find a whole lot of information that doesn't help and is just confusing.
>> 2.    The best way to debug a program is to use print to print out the values of variables at points in the program to see where they go wrong.
>> 3.    Make sure parts of your programs work as you work on them. Do not write massive files of code before you try to run them. Code a little,
>> run a little, fix a little.
>
> So there are many different ways to do things (and some work better for certain languages/environments/problems) and we can all learn by looking at how different people do things.
>

I agree, but:

1. If I run my application from the Delphi IDE with the debugger. I do 
not make a full-code scan. I only set a breakpoint for example on 
buttonOnClick and than look at my variables by hover the mouse over them 
and go step by step through my "problem code".

2. I disagree. It is helpful if you have tons of loops. But I have to 
write lots of code only for temporary output of some varibles. That 
increases my lines of code. With no production code.
If You have a lot of loops You can set breakpoint conditions (loop 
counter or a normal condition myVar = 'abc').

3. OK. But if I had a small function which I have written and tested in 
the same moment. And if there is any problem/exception with this small 
function than I can set a breakpoint and make the same as in 1. On the 
other hand I could write "prints" for each variable for each loop and so 
on. But see 2.
0
Mathias
4/14/2014 9:51:50 AM
John,

| I'm sure glad I never ran into that advice!!!!!!!
| I wouldn't know how to act were it not for the Delphi debugger and
| MadExcept's stack trace.

Ditto!!!  

TERRIBLE "advice!"  

-- 

   Q 

04/14/2014 13:25:02

1.19.1.372  [Q'sBrokenToolBar] [Running on TQ]
0
Quentin
4/14/2014 8:25:26 PM
Reply:

Similar Artilces:

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

Debugging DLL compiled with Delphi 7 in Delphi XE5
Dear Sirs/Madams, We are considering changing from Delphi 7 to Delphi XE5. Our project consists of a dll and an .exe file. I have begun converting the .exe file to Delphi XE5 and have successfully accessed the DLL compiled with Delphi 7. When I debug the DLL (using the "run parameters" and changing "host application" to the .exe file) in Delphi 7 I can set breakpoints etc. and they are triggered. However, when I attempt to debug the project in XE5, I get the following message: Module Load: xxx.dll. No Debug Info. Base Address: $015A0000. Process xxx.exe (2928) ...

Debugging in Delphi XE2 using another Delphi BDS process as host
Hi I've been using delphi a long time And I always had the possibility of debbuging Packages using another Delphi process as host. This is very useful to test the design-time side of packages. Now with XE 2 I can whether running with options - Debugger - Host Application or Attach to process Any ideas? Thanks Plp Pedro wrote: > Now with XE 2 I can whether running with options - Debugger - Host > Application or Attach to process What exactly are you having trouble with? Error messages, unexpected behavior, etc. -- Remy Lebeau (TeamB) Hi Remy ...

Delphi 2010: AV when switching from Default to debug layout and when closing Delphi
Hello, I experience strange AVs in rtl140.bpl when switching from the Default to the Debug Layout (e.g. when starting the application) or when closing Delphi 2010. I have a bunch of Addins (Modelmaker Code Explorer, EurekaLog, DDevExtensions, JCL, etc...), components installed. Any ideas/tools to possibly track down where the culprit is? Possibly simply an addin in combination with docked windows etc. Thanks, Thomas > {quote:title=Thomas Steinmaurer wrote:}{quote} > I experience strange AVs in rtl140.bpl when switching from the Default > to the Debug Layout (...

Is it posible to configure Delphi XE3 IDE to use Delphi 7 compiler/debuger
Hi! Like many other developer out there I have several project which has been developed with older version of Delphi (Delphi 7). Since theese projects rely on some components which are not compatible with newer versions of Delphi (no newer versions available) I'm forced to do any maintnance on theese projects using Delphi 7. Another solution would be to find replacment components which would provide me with same capabilities and work with latest versions of Delphi. But this would probbably require compleete rewritings of my projects (lots and lots of work). So currently I'm using...

SEPA components for Delphi with Source Code (Delphi 5
Hi all, in the european union change next year the Bankingformat to the SEPA Format. All peoples and companies must change the bankingssoftware and the costumer data form acountnummers in the new IBAN and BIC numbers. See: http://www.arma-it.de/shop/artikelueber.php?wgruppeid=211&wgruppe_offen=211 Functions: - generate SEPA XML'S - Calc IBAN - BIC Database (DE,AT and CH) Questions: vertrieb@arma-it.de PS: Bankinssoftware for Develpoers (Germany only) http://www.arma-it.de/shop/artikelueber.php?wgruppeid=212&wgruppe_offen=212 El 26/10/13 21:38, A...

Delphi 2007 to Delphi 7
I've written a class in Delphi 2007 that is not supported in Delphi 7. What would be the best way to achive what I've done in Delphi 2007 in Delphi 7? Thanks, Tom type BondConstants = class { Bond Types } type BondType = record const TREASURY = 3; AGENCY = 0; CORP = 1; MUNI = 2; SBA = 5; MBS = 4; CMO = 6; end; { Day Count Methods } type DayCount = record const ACTUAL_360 = 2; ACTUAL_365 = 1; ACTUAL_ACTUAL = 1; d30_360 = 0; ...

Delphi 7 to Delphi XE
Have been using Delphi 7 for many moons ( have got later versions but never upgraded to ) My first problem is: Component Palette. in XE it is a small toolbar docked in top right in Delphi 7 it gives a large view of all the components. I am struggling to be able to cope/access my components.in Delphi XE. Can I make the component pallette tool bar the same size as Delphi 7, or is there a fast way to view/choose all available components in XE, that I have not spotted yet? Kind Regards, Robert. Hi, What I know is that in Delphi 2010 and XE you can choose between t...

Delphi 4 to Delphi 2007
Hello, I will have to port a D4 application (with source) to D2007. what kind of problem could I face ? I will have to go to customer site tommorow to analyse its source code to quote the work, what should I care of to hestimate the porting time ? Thanks John Terry wrote: > Hello, > I will have to port a D4 application (with source) to D2007. > what kind of problem could I face ? > I will have to go to customer site tommorow to analyse its source code > to quote the work, what should I care of to hestimate the porting time ? You can probably do it by just changi...

Delphi XE / Delphi 2010
Hello! I noticed that Embarcadero® Delphi® 2010 Version is not on the list of products on Embarcadero page. Or is it still possible to buy it? Will RAD Studio XE compile programs written in Delphi 2010 without problems.? Thanks. Am 13.09.2010 09:04, schrieb Petra Nemec: > Will RAD Studio XE compile programs written in Delphi 2010 without problems.? As always you will probably have to recreate the projects as the import is still a bit -- special. Christian Hello! Does anybody know if it is still possible to get a Delphi2010 trial version (if yes where)? ...

Delphi for PHP or Delphi PRISM
Hi, I have the opportunity to develop a web-based library management system. Nothing fancy, just being able to do the usual CRUD stuff for books and provide a search facility. Borrowing is to be done via an email request to the library admin who then sends out the book(s). Since both Delphi for PHP and Delphi PRISM will enable me to develop the app, which one will allow me to deliver it in less time and also increase (even how small) my marketability as a web developer? Thanks. Phillip Flores Phillip Flores wrote: > Hi, > > I have the opportunity to develop a...

Delphi 5 to Delphi 6 and up
Dear List, Trying to add 7Zip compression support to my delphi application. I am using the ported 7Zip sdk (see their website, they have a link). I am stumped on how to rewrite a single function: function ReverseDecode(var Models: array of SmallInt; ....): ..... where the input is mostly a fixed size array of SmallInt. This code perfectly compiles and functions in Delphi 6 and up, but in Delphi 5 I get the error: There is no overloaded version of 'ReverseDecode' that can be called with these arguments And obviously, the input (fixed) isn't the same as the param de...

Delphi and virus, or virus and Delphi.
Hi all. There is some discussion about a 'new' virus, that targets Delphi (and developers). The article is in danish: <http://www.version2.dk/artikel/11833-delphi-udviklere-jages-af-ny-type-malware> but refers to this article: <http://news.cnet.com/8301-27080_3-10312628-245.html> From the Danish article POV, it seems like Delphi itself is vunerable, which is not true. As far as i can see, is the attack vector, injection of (source) code in the 'Sysconst' unit. What's going on? -- Best regards Stig Johansen Perhaps checking other thre...

Delphi 5 to Delphi XE4
Thinking about making the conversion. Of course we have numerous components such as: TurboPower AsyncPro, TurboPower Orpheus ICS2 Synactis All-In-The-Box. You guys have any advice as to the effort and time it may possibly take. It is a large application, several hundred thousand lines. And that's what happens when using third party components, a lot of extra work. I have been burned a few times. I now minimize the use to a few well known suppliers, like TMS. I have "banned" a lot of other components. Regards, Ole > > Thinking about making the conver...

Web resources about - delphi debugging = luxury - embarcadero.delphi.general

Debugging - Wikipedia, the free encyclopedia
... here. For the shell command, see debug (command) . For the German magazine, see Debug (magazine) . For the 2014 film, see Debug (film) . Debugging ...


The Remote Agent Experiment: Debugging Code from 60 Million Miles Away - YouTube
Google Tech Talk February 14, 2012 Presented by Ron Garret. ABSTRACT The Remote Agent Experiment: Debugging Code from 60 Million Miles Away The ...

Taking the pain out of debugging with live programming
"Everyone knows that debugging is twice as hard as writing a program in the first place," Brian Kernighan once wrote (adding: "So if you're as ...

Microsoft acquires software for debugging Unity games
... Visual Studio's capabilities for game builders, Microsoft is acquiring SyntaxTree, creator of a widely used Visual Studio plug-in for debugging ...

Agile Learning, Debugging and Mikado Method in Methods & Tools Fall 2013 issue
Methods & Tools – the free e-magazine for software developers, testers and project managers – has just published its Fall 2013 issue with the ...

Feature Request: A Magic AirPort Extreme with smart downloads, better debugging + prioritized devices ...
... Devices , iOS , and Mac at 9to5Mac . What do you think? Discuss "Feature Request: A Magic AirPort Extreme with smart downloads, better debugging ...

Chrome Beta for Android brings debugging tools to mobile web developers
YouTube link for mobile viewing Chrome Beta for Android brings a lot of cool features for users like you and me, but it also has a handy one ...


Debugging Tests
Explains how to incorporate and use Xcode testing features for development projects.

Resources last updated: 11/21/2015 9:54:17 AM