Debugging UDFs poses a particularly challenging problem in the Teradata environment. Due to the massively parallel nature of Teradata, UDFs can run in multiple processes on multiple nodes.
Using a regular debugger (like the standard GDB) requires users to attach to each UDF server process manually, in separate debugging sessions. The Teradata C/C++ UDF Debugger attaches automatically to every UDF server associated with an SQL request and controls those UDFs from a single debugging session. These features provide modern debugging capabilities for UDFs running within the Teradata Database.