What is the best way to debug Delphi using the IDE and / or FOSS?

I see the following debugging tools and wonder if there are others or what FOSS tools a small company can use (we don’t do a lot of Windows programming).

1 Debugging in the IDE, setting breakpoints, using a clock, etc.

2 Debugging in the IDE using the event log
     I got good information from this page and changed it to add timestamps and indent / outdent in the call / return procedure so that I can see nested calls faster. Does anyone know anything better?

3 Using the profiler

4 Any others?
   For example, MadExcept, etc.

(I am currently using Delphi 7)

+3
source share
6 answers

The Delphi 7 IDE is a good place to start, just look at third-party tools if you come across something that you cannot fix with what you have:

  • The error messages are informative and not too detailed.
  • The debugger is pretty good, you have many options for checking variables, brakepoints, conditional brakepoints, data brakepoints, address brakepoint, module brakepoint. This stop call view is good, it has some multithreaded debugging support.
  • Good step-by-step execution, step forward, transition, launch before returning, etc.

, ( IDE Delphi ). , IDE, , .

  • : . , , .
  • : , ( ShowMessage ).
  • MadExcept, , : , EXE, , , . , , .

, : , , , . , , , : , , , , , .

+3

Delphi , Delphi 7, . . , , :

  • , , FastMM4, . , AQTime, , .
  • , . ( , ) (AQTime , , , ).
  • , , , JCL/JVCL (), MadExcept EurekaLog SmartInspect
  • , , OutputDebugString() IDE DebugView. , SmartInspect.
  • Delphi 7..map .dbg WinSDK WinDbg , ProcessExplorer

, ( ), ( API ), .., .

+5

AQTime.

Free Pascal ( "randomized local variables" ) valgrind. ( ) .

-CR, .

TXXX(something).callsomething 

if something is txx then 
   TXXX(something).callsomething 
else
   raise some exception;

.

Pascal (, -, , sTack aka -Criot) Delphi.

( ), , (-) FPC 3.0.x +.

+3

"Process Stack Viewer" ( ): http://code.google.com/p/asmprofiler/wiki/ProcessStackViewer
( : .map .jdbg)

( " ", , ) .

. () , .

+2

, , . , IDE , -, , , , , CodeSite SmartInspect. , , , , , IDE ( ).

Sorry, I didn’t understand that FOSS means Free and Open Source Software. CodeSite and SmartInspect are neither one nor the other. For a free solution, you could take a look at the logging features in Jedi from the toolbox.

+1
source

Rad Studio XE includes the light version of CodeSite and AQTime, which together are unrivaled improvements.

You can do a lot with JCL Debug, MadExcept, and other profiling and logging tools, but CodeSite and AQTime are the best for their tasks.

+1
source

Source: https://habr.com/ru/post/1783352/


All Articles