1. 服务器端的程序运行时崩溃了怎样定位出错的代码位置
-
内存泄漏
Linux中可以借用工具排查错误。
像之前一样自己重新封装malloc函数此处联想[如何查找内存泄漏]问题
-
磁盘已满[个人觉得这个可能性大些]
导致系统无法正常运行的最可能的原因是磁盘已满。一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带)。
日志文件会很快用光所有的磁盘空间。Web服务器的日志文件、SQL*Net的日志文件、 JDBC日志文件,以及应用程序服务器日志文件均与内存泄漏有同等的危害。可以采取措施将日志文件保存在与操作系统不同的文件系统中。日志文件系统空间已 满时Web服务器也会被挂起,但机器自身被挂起的几率已大大减低。
-
数据库的临时表不够用[这个可能性也挺大的]
许多数据库的临时表(cursor)数目都是固定的,临时表即保留查询结果的内存区域。在临时表中的数据都被读取后,临时表便会被释放,但大量同时进行的查询可能耗尽数目固定的所有临时表。这时,其他的查询就需要列队等候,直到有临时表被释放时才能再继续运行。 -
服务器超载[一般不太可能,因该实现都是估计好的。除非DDos攻击]
Netscape Web服务器的每个连接都使用一个线程。Netscape Enterprise Web服务器会在线程用完后挂起,而不为已存在的连接提供任何服务。如果有一种负载分布机制可以检测到服务器没有响应,则该服务器上的负载就可以分布到其 它的Web服务器上,这可能会致使这些服务器一个接一个地用光所有的线程。这样一来,整个服务器组都会被挂起。操作系统级别可能还在不断地接收新的连接, 而应用程序(Web服务器)却无法为这些连接提供服务。用户可以在浏览器状态行上看到connected(已连接)的提示消息,但这以后什么也不会发生。 -
C指针错误
这还真不好办 -
线程死锁
[补充 CVTE的web后台一面] 如何排查JVM进行gc之后还是有很多内存没有释放
https://blog.csdn.net/fishinhouse/article/details/80781673
2.四次挥手如果没有四次会出现什么问题
1. 指针和引用
2. 宏和inline
3. 避免头文件重复编译
4. ifndef和#pragram once
5.c++的编译链接过程
6.数组里找重复的数 除了map有没有其他方法
7.网络编程
8. 服务器端程序崩溃定位出错代码
10匹马5条赛道 找出最快的5匹马最少需要比赛几次
8.智能指针
10.线程通信
5.链表找环