Difference between revisions of "IDE Window: Call Stack"

From Free Pascal wiki
Jump to navigationJump to search
Line 23: Line 23:
 
The mangled name of the procedure/function.
 
The mangled name of the procedure/function.
 
The compiler converts the pascal identifiers into names, useable by the gnu tools. For example:
 
The compiler converts the pascal identifiers into names, useable by the gnu tools. For example:
 +
 +
  TAPPLICATION__CREATEFORM(0x81fb738, void, (^TAPPLICATION) 0xb7cd0014)
 +
 +
Means:
 +
 +
 +
* First comes the function name and its address: TApplication.CreateForm at address 0x81fb738
 +
* Then follows the parameter list. Depending on the platform and the calling convention, the parameters can be ordered reversed.
 +
* 'void' means a parameter without type. Here: ''var Reference''
 +
* (^TAPPLICATION) 0xb7cd0014

Revision as of 16:18, 17 July 2006

Important

This page is under construction. It may contain wrong information and must be confirmed/repaired by Marc.

You must setup the debugger and start the project to debug it. Only then the breakpoints are useful.

What is the call stack?

The call stack is the stack of function calls. The top line is the current function, the lowest line is the main program.

Source

This is the filename of the source. This information is retrieved from the debugging information contained in the executable. Only those parts of the program compiled with gnu debugger information contains such information.

Line

If the position contains gnu debugger information, the source line will be shown, otherwise only the address pointer in the executable is shown.

Note: The line is the line at compile time. If you inserted/deleted lines, they will not be accurate.

Function

The mangled name of the procedure/function. The compiler converts the pascal identifiers into names, useable by the gnu tools. For example:

 TAPPLICATION__CREATEFORM(0x81fb738, void, (^TAPPLICATION) 0xb7cd0014)

Means:


  • First comes the function name and its address: TApplication.CreateForm at address 0x81fb738
  • Then follows the parameter list. Depending on the platform and the calling convention, the parameters can be ordered reversed.
  • 'void' means a parameter without type. Here: var Reference
  • (^TAPPLICATION) 0xb7cd0014