Release 1.104
Build 3248
21-January-2009
For Delphi 5, Delphi 6, Delphi 7, C++Builder 5 and C++Builder 6, experts can be installed as design time packages or dll experts. For C#Builder 1 and Delphi 8, experts are installed as dll experts (those products don't load design time packages). For Delphi 2005, Borland Developer Studio 2006 and Turbo Delphi Professional, experts are installed as design time packages.
The experts\debug folder contains an IDE expert which assists to insert JCL Debug information into executable files. This can be useful when use source location routines from JclDebug unit. These routines need some kind of special information to be able provide source location for given address in the process. Currently there are four options to get it work:
The IDE expert will add new item to IDE Project menu. For Delphi 5, 6 and 7 it adds 'Insert JCL Debug data' check item at the end of the Project menu. When the item is checked, everytime the project is compiled by one of following commands: Compile, Build, Compile All Projects, Build All Projects or Run necessary JCL debug data are automatically created from the detailled MAP file. The behavior of this conversion can be customized in the JCL options dialog (in the Tools menu of the IDE): the debug informations can be exported as .jdbg files or inserted in the binary file. The expert outputs a message in the IDE message view to display details about the data being generated.
You can generate those debug data for packages and libraries as well using the expert. Each executable file in the project can use different option from those listed above. It is not necessary to generate any debug data for Borland runtime packages because the source location code can use names of exported functions to get procedure or method name. To get line number information for Borland RTL and VCL/CLX units you have to check Use Debug DCUs checkbox in Project|Options dialog -> Compiler tab. Unfortunately it is not possible to get line number information for Borland runtime packages because Borland does not provide detailed MAP files for them so you get procedure or method name only.
In case you have more than one data source for an executable file by an accident the best one is chosen in following order:
It is also possible to create JCL debug data programmatically from a MAP file by using MakeJclDbg command line tool in jcl\examples\windows\delphitools folder. This utility can either export data as a separate .jdbg file or insert them in the executable. You can study included makefiles which uses this tool for building delphitools examples.
To help using JclDebug exceptional stack tracking in application simple dialog is provided in jcl\experts\debug\dialogfolder. The dialog replaces standard dialog displayed by VCL or CLX application when an unhandled exception occurs. It has additional Detailed button showing the stack, list of loaded modules and other system information. By adding the dialog to the application exceptional stack tracking code is automatically initialized so you don't have to care about it. You can also turn on logging to text file by setting the Tag property of the dialog to '1'. There is also version for CLX (ClxExceptDlg) but it works on Windows only. These dialogs are intended to be added to Object Repository.
Short description of getting the JclDebug functionality in your project:
A new expert integrating version control systems in the IDE was added. It provides an integration of TortoiseCVS and TortoiseSVN inside the IDE, items are added in the IDE menu and buttons can be placed in IDE toolbars via the customize dialog, see below.
A dialog-box provides configuration options for JCL experts in the Tools menu.
It wraps TortoiseCVS and TortoiseSVN commands in actions that can be placed on IDE toolbars and in IDE menu.
This expert requires TortoiseCVS or/and TortoiseSVN installed on the system to properly work. Please refer to these products documentations for help about using version control systems.
The structure of the "Jcl Version" menu can be customized in the JCL options dialog (in the "Tools" menu).
This dialog provides enhancement to the debugger of Delphi and C++Builder regarding XMM registers. These registers were introduced in SSE instructions (and are still used in SSE2, SSE3 and SSSE3 instructions). This dialog can be displayed by clicking on menu View | Debug Windows | SIMD (keyboard shortcut Ctrl+Alt+D). It is divided in to panes following the style of the FPU window: the left pane displays content of registers and the right pane displays MXCSR flags. The format of the registers can be modified from the context. All registers and flags can be modified and changes will be applied to the debugged process.
This expert modifies the IDE Open/Save dialogs and add a combobox to store your favorite directories. Items can be added and deleted using the button at the right of the combobox.