From Open Watcom
The fundamental problem is how to cause a breakpoint in a dynamically loaded memory image, such as a dll
Assuming you are using WDW
Load the main executable program, the one that will call the dll, not the dll itself, under the debugger.
Break On Image Load...
Image here means dynamic library image, the code.
Navigate to the dll file and add. When you are finished, click OK.
Execute the program.
When the operating system is asked to load an image, the debugger will break inside the OS loader code. (such as inside NTDLL.DLL on Windows XP)
Look at the Module window pane, normally bottom right on the screen, there will be the dll modules. Select one as required and magic, there is the dll source code, set breakpoints as required.
Then execute to the breakpoint you just set inside the dll. The rest is obvious.
That should get you going. For more complex things try Advanced Debugging