Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202743
  • 博文数量: 96
  • 博客积分: 1781
  • 博客等级: 上尉
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-07 12:31
文章分类

全部博文(96)

文章存档

2014年(1)

2013年(14)

2012年(44)

2011年(37)

分类: LINUX

2013-09-04 15:30:27

在C开发中,遇到复杂点的程序调试时比较复杂:
开发时注意事项:1)文件IO打开后要有关闭,特别是出现错误时,比如socket的connect链接异常时需要需要close(sockfd),否则文件端口会被耗尽。---》通过cat /proc/pid/fd可以看到此时程序使用了几个文件符,如果不断变多,说明没有释放。
2)使用多线程时,如果线程的结束状态不需要,则创建线程时需要设置为PTHREAD_CREATE_DETACHED.这样线程结束时,不会占用线程资源。
3)使用calloc等函数时,需要有free对于释放。
--》可以使用valgrind 或者memwatch gcc -DMEMWATCH -DMW_STDIO test.c memwatch.c -o test 来查看是否有内存泄漏情况。
调试工具:gdb  交叉调试方法 见其他文章。
阅读(562) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~