I guess the previous message didn't get through... Bill, Mr. Guid processes debugging output as each line comes in. The gets function does just what I need to in linux. In windows, it freezes up the application for some unknown reason. Although send/recv work in windows, recv gets a block of data based on what the debugger has sent. If Mr. Guid takes longer to process debug output than what the debugger is sending in, (like displaying global variables), the recv grabs the chunk of data that's been accumulating and processes it as what it thinks is a separate line of output when in reality it's a few lines. This leads to dropped data.