09 2017 档案

摘要:现象: 某个线上的服务最近频繁崩溃。该服务使用C++编写,是个网络服务端程序。作为TCP服务端,接收和转发客户端发来的消息,并给客户端发送消息。该服务跑在CentOS上,8G内存。线上环境中,与客户端建立的TCP连接大约在3~4万左右。 使用GDB查看每次崩溃产生的core文件,发现崩溃时的函数调用 阅读全文
posted @ 2017-09-22 21:30 gqtc 阅读(990) 评论(0) 推荐(0)
摘要:所谓资源,就是一旦用了它,将来必须还给系统。C++中的资源有:内存、文件描述符、互斥锁、数据库连接、网络socket等。 13:以对象管理资源 1:像下面这个函数: 这个函数中,会有若干情况的发生导致无法执行delete语句,比如”...”内可能有一个过早的return语句;或者createInve 阅读全文
posted @ 2017-09-22 09:22 gqtc 阅读(167) 评论(0) 推荐(0)
摘要:05:了解C++默默编写并调用哪些函数 1:一个空类,如果你自己没声明,编译器就会为它声明(编译器版本的)一个copy构造函数、一个copy assignment操作符和一个析构函数。此外如果你没有声明任何构造函数,编译器也会为你声明一个default构造函数。所有这些函数都是public且inli 阅读全文
posted @ 2017-09-22 09:07 gqtc 阅读(172) 评论(0) 推荐(0)
摘要:01:视C++为一个语言联邦 1:今天的C++已经是个多重范型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、 阅读全文
posted @ 2017-09-22 08:20 gqtc 阅读(208) 评论(0) 推荐(0)
摘要:1:代码 下面是一个简单的能够发生死锁的代码: 2:编译运行 编译时加上-g选项,以便能够得到符号对应的源码 3:pstack查看调用栈 使用pstack命令,可以查看正在运行的进程的调用栈: 多运行几次,发现每次的打印中,线程2和3都卡在__lll_lock_wait函数中,这就是一个明显的死锁发 阅读全文
posted @ 2017-09-16 10:04 gqtc 阅读(7049) 评论(1) 推荐(0)
摘要:go是一种静态编译型的语言,它的编译速度非常快。 go的官方编译器称为gc,包括编译工具5g,6g和8g,连接工具5l,6l和8l。其中的数字表示处理器的架构。我们不必关心如何挑选这些工具,因为go提供了名为”go”的高级构建工具,会帮我们处理编译和链接的事情。”go”构建工具不仅可以构建本地程序和 阅读全文
posted @ 2017-09-14 20:19 gqtc 阅读(1655) 评论(0) 推荐(0)
摘要:使用GDB 启动 $ gdb program # program是你的可执行文件,一般在当前目录 $ gdb program core # gdb同时调试运行程序和core文件,core是程序非法执行产生的文件 $ gdb program pid # 如果你的程序是一个服务程序,那么你可以指定这个服 阅读全文
posted @ 2017-09-12 20:10 gqtc 阅读(5592) 评论(0) 推荐(0)
摘要:1:当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 当程序接收到以下UNIX信号会产生core文件:SIGABRT、SIGBUS、SIGEMT、SIGFPE、SIGILL、SIGIOT、SIGQUIT 阅读全文
posted @ 2017-09-11 21:30 gqtc 阅读(578) 评论(0) 推荐(0)
摘要:一: All member functions (including copy constructor and copy assignment) can be called by multiple threads on different instances of shared_ptr withou 阅读全文
posted @ 2017-09-08 07:58 gqtc 阅读(21176) 评论(0) 推荐(4)
摘要:智能指针用于解决常规指针所带来的内存泄露、重复释放、野指针等内存问题。智能指针基于这样的事实得以发挥作用:定义在栈中的智能指针,当超出其作用域时,会自动调用它的析构函数,从而可以释放其关联的内存资源。 之前C++标准库中定义的智能指针std::auto_ptr<T>,因其设计存在缺陷,所以已不再推荐 阅读全文
posted @ 2017-09-07 22:10 gqtc 阅读(559) 评论(0) 推荐(0)