WSARecv works a bit differently than the classical recv but it's not hard.
after you set the breakpoint and the debugger breaks you should see all the parameters of the function in the stack windows (right-down), something like:
Code:
0023FF1C 004013E2 .... /CALL to WSARecv from 004013DD
0023FF20 0000000C .... |Socket = C
0023FF24 00401234 .... |pBuffers = 00401234
0023FF28 00000001 .... |nBuffers = 1
0023FF2C 00402222 .... |pReceivedCount = 00402222
0023FF30 00403333 .... |pFlags = 00403333
0023FF34 00000000 .... |pOverlapped = NULL
0023FF38 00000000 .... \Callback = NULL
now select pBuffers and select "Follow in Dump"
so go in the Dump windows (left-down)
here you will find the array of pointers to the buffers and their sizes used for receiving the data (nBuffers buffers and sizes).
the first 4 bytes are the size of the buffer, so select the next 4 bytes and select "Follow DWORD in Dump".
this is the buffer where will be received the data when WSARecv finishes (CTRL-F9)
for thoroughness I need to add that the overlapped stuff creates confusion because if it's used then the data will be received in other moments... anyway it's used almost never.
more info about WSARecv:
http://msdn.microsoft.com/en-us/library ... 85%29.aspxhttp://msdn.microsoft.com/en-us/library ... 85%29.aspx