Z moich dotychczasowych poszukiwań (choć mogłem coś przeoczyć) muszę zgodzić się z Devartem, że nie można debugować funkcji UDF.
Dodatkową radą jest użycie stderr do debugowania. Stworzyłem coś dość prostego do pracy:
void udf_debug( char *msg, ... ) {
#ifdef DEBUG
va_list ap;
va_start(ap, msg);
vfprintf(stderr, msg, ap);
va_end(ap);
fflush(stderr);
#endif
}