My first debugger I implemented in the middle of 80s, it was embedded debugger for 8-bit Intel microprocessor 8051. Since that time or probably earlier I am saying that I actually really love debugging and everything that helps me to understand software things from inside.
About 15 years are I needed to investigate network traffic of some Windows Internet application. There was not enough information about the issue in search engines in that time, so I decided to make my own tool.
I disliked the idea to do it through proxy server and chose the solution to implement automated debugger. The debugger attached to already running Windows process or start the new one, set breakpoint to WinSock API functions, when process stopped on some breakpoint all function input data saved into the log file, then the function was executed and output data saved into the log file also.
The application was name as SocketSpy. Later I added option to expend breakpoints to other DLLs such as Kernel32.dll, ADVAPI32.dll and others including DLL your choice.
Possibility of customizing the list of breakpoints was implemented later as well.
I submitted SocketSpy as shareware to several publisher sited and sold multiple copies. Time passes quickly, currently about half Windows OS installations using 64-bit versions of the operating system. SocketSpy does not work with 64-bit application, but it is still OK with 32-bit ones even if they are running under WoW64 emulator.
Starting from 2017 I changed the program type form Shareware to Freeware. It is available on http://socketspy.ladydebug.com. Do not pay attention to any “DEMO” words mentioned in the text.
There is also http://socketspy.ladydebug.com/sourcecodes.htm page where I share some source codes with you.