Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.

ID: 21280, Non-Breaking Breakpoint Profiling Library 1.0

by Jim McKeeth Email: Anonymous

This unit is designed to enable high resolution profiling using non-breaking breakpoints inside the Delphi IDE.
Download Details
FTP  download also available
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 6.0  to 7.0 290 downloads
Copyright: Open Source or other

Size: 2,397 bytes
Updated on Mon, 12 Jan 2004 11:35:00 GMT
Originally uploaded on Mon, 05 Jan 2004 18:12:08 GMT
SHA1 Hash: 770ABEB7DC48ABEB6B1D7B76A5FD60EA499E959E
MD5 Hash: F8DB0A21557D881C2437EF1128D43C4E

    Explore the files in this upload

Jim's Profiling Library 1.0

This unit is designed to enable high resolution profiling using non-breaking breakpoints inside the Delphi IDE.

Accompaning article "Code Profiling with Non-Breaking Breakpoints by Jim McKeeth",1410,31905,00.html

Uses QueryPerformanceCounter and QueryPerformanceFrequency in the Windows unit so will not work on Kylix unless an alternative is substituted in. Developed in Delphi 7 compatibility with 6 is assumed (uses Int64).

This is some functions with some variables instead of an object because calls to an object that change field values by a breakpoint evaluation are not maintained between calls.

Three functions:

function ElapsedMS: Cardinal;
This function returns the number of milliseconds that have elapsed since the last call to this function. Stores counter value in LastCounter for use in next call.

function ResetElapsed: string;
This function resets the LastCounter to the current counter value. This effectively resets the ElapsedMS counter. This happens automatically when you call ElapsedMS, but if you want to restart the timer without displaying the time since the last call you can use this function. This always returns the string '*Reset*' for easy reading in the Event Log.

function UpTimeMS: Cardinal;
This function returns the number of milliseconds since program execution began. Uses the value stored in StartCounter, which is initialized in the initialization section. NOTE: The UpTimeMS is the time since this unit's initialization section was called. This isn't necessarily the beginning of program execution, but should be really close. To get as accurate an UpTime as possible put this unit in the DPR's uses section as the first unit.

The {$IFOPT D+} compiler directive removes all code when all debug information is turned off. This unit is designed to be able to be left in without having and impact on shipping code.

Licensed MPL 1.1/GPL 2.0/LGPL 2.1

See also article on BDN

For more information, see

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Could not retrieve comments. Please try again later.

Server Response from: ETNACDC04