Windows网络编程的一个调试心得

Posted explorer101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows网络编程的一个调试心得相关的知识,希望对你有一定的参考价值。


作者:朱金灿




最近要调试一个网络程序,大致是一个接收socket字符串的程序。网络有些不稳定。程序很多时候能正常接收数据,但是偶尔也出错。我发现比较的好的办法还是通过写入日志文件进行分析。


该写哪些内容进日志文件呢?我想了一下,应该包括三方面的内容:

1.       接收数据的时间

2.       接收数据的长度(只有长度正确才能确保内容正确)

3.       接收数据的内容


下面是获取本地时间并写入文件的代码:



  1. #include <stdio.h>
  2. #include <windows.h>

  3. int main(int argc, char* argv[])
  4.     FILE *fp = fopen("log.txt","a+");
  5.     if(NULL==fp)
  6.         return 1;

  7.     SYSTEMTIME now;
  8.     GetLocalTime(&now); // 获取本地时间
  9.     char szTimeBuf[25];
  10.     memset(szTimeBuf, ,25);
  11. // 格式化时间
  12. sprintf(szTimeBuf,"/n%02d/%02d/%02d %02d:%02d:%02d",now.wYear,now.wMonth,now.wDay,now.wHour,now.wMinute,now.wSecond);
  13.     fwrite(szTimeBuf,25,1,fp); // 写入文件
  14.     fclose(fp);
  15.     return 0;


以上是关于Windows网络编程的一个调试心得的主要内容,如果未能解决你的问题,请参考以下文章

windows Service 之调试过程(附加到进程里调试,而且启动时间不能超过30秒)

PCIe调试心得_DMA part2

服务器端编程心得—— 关于网络编程的一些实用技巧和细节

服务器端编程心得—— 关于网络编程的一些实用技巧和细节

Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置

在 Microsoft Azure 平台虚拟机上调试 Windows 内核