Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Dr.Bob) - Medical Officer Dr.Bob's Delphi Clinics
 Dr.Bob's IntraBob - ISAPI Debugger v5.1.0.42
See Also: Dr.Bob's SwarTools for Delphi and C++Builder

IntraBob version 5.1.0.42 features CGI/WinCGI Testing and ISAPI IDE Debugging, with full support for WebBroker, InternetExpress, WebSnap, IntraWeb (Page Mode) or any other ISAPI DLL producing internet framework.

IntraBob v5.1 is Dr.Bob's FREE 32-bits local CGI/WinCGI Tester and ISAPI Debugger that can be used to test Delphi or C++Builder CGI/WinCGI applications and debug Delphi or C++Builder ISAPI DLLs without the need for an actual web server (or browser for that matter). IntraBob v5.1 required Microsoft Internet Explorer version 4 or higher to be installed.
You can download version 5.1 of INTRABOB.ZIP (build 5.1.0.42) from CodeCentral. Latest News: the link is broken, so here's a download link from my own site: intrabob.zip
Changes since 5.0.0.32 include saving/restoring last position on the desktop. Changes since 5.0.0.34 include saving/restoring last size (height and width), button to eBob42 added, plus a fix for access violation when using .css include files.

Debugging ISAPI DLLs
The example ISAPI.DLL library DEBUG can be used to demonstrate how to Test and Debug ISAPI.DLLs on a local machine (i.e. without a Web Server).

Steps:
1. Start Delphi 3+ (or C++Builder)
2. Load DEBUG.DPR, set a few breakpoints
3. Specify "INTRABOB.EXE" as Hosting Application (Run | Parameters):

4. Run the DLL, which starts IntraBob v5.1 (as host application indeed) with my small example HTML form:

BTW, since IntraBob now uses the Internet Explorer WebBrowser ActiveX control, we can open the source for any page by right-clicking with the mouse and selecting the "View Source" option.
Before running the ISAPI DLL (or CGI executable), make sure to go to the "Options" tab to set the right options (local CGI application or ISAPI DLL, the POST or GET protocol, and the CGI, WinCGI or ISAPI protocol):

5. Go back to the "Browser" tab, and click on the "Submit" button to send the request and hence load the DEBUG ISAPI.DLL.
This will trigger the breakpoint inside DEBUG.DPR, after which we can step, trace, or use the Code Insights tooltip evaluations to see what's inside the ECB parameter (for example).

If we continue (click on Run again), we'll see the resulting HTML page in IntraBob again. In the "Trace" tab we can see the data that was sent to the CGI application or ISAPI DLL.

6. Don't forget to close IntraBob afterwards to return to the Delphi IDE

Limitations
Current Limitations of IntraBob v5.1:


IntraBob is freeware, provided as-is, but use at your own risk (I cannot be held responsible for anything that goes wrong while using this tool), but I'm open to feedback, suggestions and other comments by e-mail to info@eBob42.com.
This webpage © 1995-2009 by Bob Swart (aka Dr.Bob - www.drbob42.com). All Rights Reserved.