Watch, Follow, &
Connect with Us

Please visit our new home

Welcome, Guest
Guest Settings

Thread: ANN: ISAPI Debugging Tool

Permlink Replies: 0 Threads: [ Previous | Next ]
William Egge

Posts: 98
Registered: 11/29/06
ANN: ISAPI Debugging Tool
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 28, 2017 11:34 AM

The ISAPI Debugger host is a tool I wrote many years ago to help me debug ISAPI Applications, which I then decided was worthy of being a sell-able product.

My main problem with debugging was trying to attach to IIS so I could debug my ISAPI, which I could never get right. This pre-dates a feature in Delphi to create a special version of your DLL for debugging, however the solution I created does not require any special build of your ISAPI nor having to hook the debugger into IIS (or any web server). You can simply run your DLL as-is.

The debugger works like this

An ISAPI application is just a DLL, in Delphi you can build and debug a DLL if you have a host application to load and call the DLL. This is easily configured in the Delphi "Run Menu > Parameters > Host Application". The ISAPI Debugger is a host application for your ISAPI DLL, so in Delphi you would simply set the Host Application setting to the ISAPI Debugger.

The next part is how to call your DLL. The ISAPI Debugger is a server for your ISAPI DLL which allows remote calling of your DLL. Included with the ISAPI Debugger Host is an ISAPI DLL which connects to the ISAPI Debugger of TCP/IP. This client ISAPI DLL is installed into your web server like and other ISAPI DLL. When the web server invokes the Client ISAPI DLL, the Client connects to the ISAPI Debugger host and calls your ISAPI DLL method, whatever your DLL returns is returned back to the Web Server.

How it works is more complex than using it. To use it, you simply install the ISAPI Client in the web server then set the Host Application of your DLL to be the Debugger Host. Thats it, hit run in Delphi and type in a url to the client isapi and it will call your dll. Since it is remote, the web server need not be on the same machine as your DLL and also your DLL need not be installed in IIS (that would actually be a thing to avoid)

You can get the Debugger Host here (same link as above):


Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02