About Debugging External Procedures
Usually, when an external procedure fails, its C prototype is faulty.
That is, the prototype does not match the one generated internally by PL/SQL. This can happen if you specify an incompatible C data type. For example, to pass an OUT parameter of type REAL, you must specify float *. Specifying float, double *, or any other C data type results in a mismatch. 
               
In such cases, you get a lost RPC connection to external procedure agent error, which means that agent extproc terminated abnormally because the external procedure caused a core dump. 
               
- Using Package DEBUG_EXTPROC
 To help you debug external procedures, PL/SQL provides the utility packageDEBUG_EXTPROC.
See Also:
Oracle Database Data Cartridge Developer's Guide. for information on how to avoid errors when declaring C prototype parametersParent topic: Developing Applications for Windows