Wouter van Ooijen escribi=F3: > It can however be very lim= iting. What if you don't have a serial (or > other) interface for displaying/outputting the printf? = I build myself one, using an IR diode. optical isolation, and no connectors needed. and the external circuit is project-independent, can even be used (with an LCD) when no PC is available. > That's the real benefit to me of the ICD2/JTAG type debugging: it has > (ideally) no effect whether you use it or not (of course = > there are cases > where the break points can affect a problem). It's a "back door". as I said, it depends a lot on the type of projects you are doing. jtag won't help much if your problem is timing-dependant. (printf will also interfere, but it is more 'under your control'). Wouter van Ooijen I agree that the debugging method depends on the application and on the env= ironment where it will be. I use the ICD2 method and the "printf" method. I rarely mix both. The ICD= 2 method becomes faster and less tedious on applications that have a lot of= structures. Doing a dump of such structures with a descriptive name of ev= ery var and every bit takes too much time. Doing a memory dump is fast but= is not too friendly. I managed to do other debugging methods on applications where the project b= udget and the complexity needs it. I've done some outsourcing works to people that are not even in my country.= The process is all over the internet so I don't have the hardware with me= to test it. Then a custom process is a nice and fast way to do it. It re= quires some time to code it but the effort is well paid with the hours save= d in debugging!. The process consists on an application that communicates with the PIC. The= application stores the data in a friendly way. The data is sent in binary= form (as its more efficient than the ascii mode) and then stored as I said= , in a friendly way. Sometimes is stored in a binary form but I have an ap= plication that reads its contents and shows it in a friendly way. Its a so= rt of 'datalogger' or 'application tracer' because its stores not only the = vars but the subroutines being called, the exit conditions, etc. The application even allows to the person to change some parameters in orde= r to adjust the application behaviour. This allows me to let them adjust t= he sensitivity of some signals and the software debouncing of them. For ex= ample a keyboard does not have the same debouncing constant than a sensor, = but this can be adjusted on the other side by a PC software. I also managed to make a 'automatic mode' or 'manual mode'. The automatic = mode is the software running as usual and the manual mode allows some speci= al features like executing a certain routine. I have done this kind of applications also for myself because the interacti= on with the hardware lets me adjust some parameters that need to be modifie= d in the field. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam =A1gratis! = =A1Abr=ED tu cuenta ya! - http://correo.yahoo.com.ar __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam =A1gratis! = =A1Abr=ED tu cuenta ya! - http://correo.yahoo.com.ar -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist