I have a cgi controller that takes requests and depending on request it invokes the object of the desired class which generates a XML and sends the XML as a response.
On the client this XML is combined with XSL to display a HTML page.

For ex.

request---->controller------->router.cgi(a linked list of name value pair is generated and passed to XML.c)-------->XML(using libxml library )-------->client(XML+XSL=HTML).

My problem is that if anybody prints something to debug a code that goes as a response since I am using print to send response and the XML breaks.

How can I debug my code without breaking the XML.
Please suggest an approach or a framework that can be employed here.

FILE *debug = fopen("debug.txt","a"); Then use fprintf() for your debug.

Simple - no?