
调试
fatacy
C/C 程序员,喜欢网络安全,擅长调试技术。从事过浏览器、即时通讯的开发。酷爱“打篮球”和乡村音乐。
展开
-
调试菜谱之二——CPU100%
Windows应用程序有时会碰到CPU高的问题。 一种方法是,暂停程序,看线程停在什么地方。具体方法参见(菜谱之家伙什)。连续几次暂停如果都停在同一个地方,基本可以确定问题出在这里,仔细看代码吧。如果是死循环,改掉就好了。如果是连续计算,比如不停地收发SOCKET数据,则可适当加Sleep(1)解决。在更高层面上修改更好。这里只介绍凉菜,动流程的大餐请自行制作。 有时候可能无法用V原创 2009-04-15 14:45:00 · 1007 阅读 · 0 评论 -
句柄泄露
用Windbg的!htrace可以调试句柄泄露。原理是做快照,比较两次的不同,找到在哪里分配这些泄露的句柄。 流程如下:1.windbg关联程序leak.exe。2.!htrace -enable开启htrace功能。!htrace -snapshot做第一个快照。3.执行造成泄漏的操作。4.!hrace -diff。此命令会列出所有新增句柄的分配上下文,附图如下。具体不解原创 2009-08-18 18:29:00 · 3468 阅读 · 1 评论 -
fstream.getline的坑
wfstream f(data_file, wfstream::in); while( !f.eof() && f.good() ) { TCHAR sz[1024 * 128] = {0}; f.getline(sz, (sizeof(sz) / sizeof(wchar_t)) - 1); } 两个说明,原创 2009-09-23 19:46:00 · 4465 阅读 · 2 评论