Cstring对象=赋值时崩溃,望不吝赐教!
谢谢各位看帖:
我写了一个Socket通信并显示在界面上的小程序,平时运行时没事,但是持续运行一段时间,一般是一两天左右,就会发生崩溃。用华生医生记录了崩溃信息以后,结果如下:
0159fecc 0057d11d 0000000a 0159ff28 00e4f070 justin!CFixedAlloc::Alloc+0x5d [fixalloc.cpp @ 78]
0159fedc 0057d284 0000000a 0000000a 0159ff28 justin!CString::AllocBuffer+0x27 [strcore.cpp @ 97]
0159feec 0057d3a3 0000000a 00da5ae4 0159ff28 justin!CString::AllocBeforeWrite+0x24 [strcore.cpp @ 200]
0159fefc 0057d432 0000000a 00da5ae4 00000034 justin!CString::AssignCopy+0xe [strcore.cpp @ 315]
0159ff10 00560e97 00da5ae4 71a22c6f 00e4f09e justin!CString::operator=+0x20 [strcore.cpp @ 346]
0159ff38 0056385b 00000000 0000ffff 00e4f108 justin!CMacsUDPSocket::OnSocketReceive+0x97
0159ff7c 0053dc3a 00e4f09e 0000ffff 0012f74c justin!CMACSAsyncSocket::SocketThreadProc+0x6b
0159ffb4 7c80b713 00e4f108 0000ffff 0012f74c justin!_beginthreadex+0xf4
代码中崩溃的语句只是简单的对cstring赋值的语句,还有几处类似的地方,都是这样对cstring对象赋值的崩溃,求指点迷津,到底崩溃的原因是什么
我写了一个Socket通信并显示在界面上的小程序,平时运行时没事,但是持续运行一段时间,一般是一两天左右,就会发生崩溃。用华生医生记录了崩溃信息以后,结果如下:
0159fecc 0057d11d 0000000a 0159ff28 00e4f070 justin!CFixedAlloc::Alloc+0x5d [fixalloc.cpp @ 78]
0159fedc 0057d284 0000000a 0000000a 0159ff28 justin!CString::AllocBuffer+0x27 [strcore.cpp @ 97]
0159feec 0057d3a3 0000000a 00da5ae4 0159ff28 justin!CString::AllocBeforeWrite+0x24 [strcore.cpp @ 200]
0159fefc 0057d432 0000000a 00da5ae4 00000034 justin!CString::AssignCopy+0xe [strcore.cpp @ 315]
0159ff10 00560e97 00da5ae4 71a22c6f 00e4f09e justin!CString::operator=+0x20 [strcore.cpp @ 346]
0159ff38 0056385b 00000000 0000ffff 00e4f108 justin!CMacsUDPSocket::OnSocketReceive+0x97
0159ff7c 0053dc3a 00e4f09e 0000ffff 0012f74c justin!CMACSAsyncSocket::SocketThreadProc+0x6b
0159ffb4 7c80b713 00e4f108 0000ffff 0012f74c justin!_beginthreadex+0xf4
代码中崩溃的语句只是简单的对cstring赋值的语句,还有几处类似的地方,都是这样对cstring对象赋值的崩溃,求指点迷津,到底崩溃的原因是什么
...全文
相关推荐
在Unicode宽字符下CString转int的方法
在Unicode环境中,确保正确处理宽字符是非常重要的,因为不正确的处理可能导致数据丢失或程序崩溃。在进行类型转换时,一定要注意检查异常和边界条件,以确保转换的正确性和安全性。
关于CString 变量的错误
字符串拼接:使用`+`或`+=`运算符可以拼接两个CString对象。每次拼接都会创建一个新的CString对象,这可能导致不必要的内存分配和拷贝。
CString内存泄露HTML.rar
`CString内存泄露的解决办法 - C-C++-VC-MFC - 悠悠网 - Powered by Discuz!.htm`: 这里可能列出了针对CString内存泄露的一些解决策略。5.
CString工作原理和常见问题分析.pdf
然而,这种方式容易引发各种问题,如缓冲区溢出和内存泄漏等,这些问题可能导致程序崩溃或安全性漏洞。
VC:CString用法整理 详解过程
**异常处理** CString在处理过程中一般不会抛出异常,但如果在操作过程中字符串长度超过最大限制,可能会导致程序崩溃,因此在进行可能导致长度变化的操作时,需要确保有足够的内存空间。7.


