忧郁的大能猫
好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
xxArray[xxArray.size() - 1], 本意是取数组元素的最后一个,但是数组可能是空,结果是去-1位置的元素,程序就会崩溃掉了void foo(char *str)
{
char buf[10];
strcpy(buf, str);
......
}debug版本和release版本的库进行混编,这种混合使用不同版本的库可能会导致程序闪退或出现各种异常。
原因:
1. 不匹配的库版本: Release 版本的库和 Debug 版本的库通常是经过不同编译设置生成的,它们可能具有不同的符号、优化方式等。因此,当 debug 版本的程序尝试使用 release 版本的库时,可能会导致不匹配的符号、链接错误或其他不一致性,从而导致程序崩溃。
2. 运行时错误: Debug 版本的程序可能会包含额外的调试信息或检查机制,而 release 版本的库可能没有这些信息或机制。这可能导致在调试信息不匹配的情况下出现未定义的行为,进而导致程序崩溃。
计算向量的垂直向量时,原向量 vector2D(b.x-a.x, b.y-a.y), 少加了括号误写成 vector2D(-b.y-a.y, b.x-a.x,), 应该是vector2D(-(b.y-a.y), b.x-a.x,),
实时客服的后台因为没有按天监控系统的运行情况,包括插入速度,磁盘空间等,导致2T的磁盘空间满了,啥程序都运行不了了,还是自己对工作的态度不是很认真负责,以及思维不缜密的特点造成的
查看php错误日志
php配置文件、错误日志位置可以从php_info中看到
php本身错误
某些函数找不到,可能是没有安装相应的模块。
安装了相应的模块还是不生效,那就再重启下php-fpm,之后模块就可以找到了。
php数组占用过多内存空间
$startMemory = memory_get_usage();
$array = range(1, 100000);
echo memory_get_usage() - $startMemory, ' bytes';How much would you expect it to be? Simple, one integer is 8 bytes and you got 100000 integers, so you obviously will need 800000 bytes. That’s something like 0.76 MBs.
but this gives me 14649024 bytes. Yes, you heard right, that’s 13.97 MB - 18 times more than we estimated.
因为要存其他额外的信息,所以多了很多其他的空间,就是c要实现php的数组结构要维护其他很多的额外信息