随笔分类 - c/c++/go/rust
摘要:最近有个应用在并发导出的时候,报错了ssh认证失败,原来串行的时候都正常,经查,可能是ssh连接数不够的原因,这个问题刚好之前有个java开发反馈过,linux默认的ssh连接数为10个。 解决如下: 修改服务器上的这个文件:/etc/ssh/sshd_config,找到两行: MaxSession
阅读全文
摘要:最近研究内存关系数据库的设计与实现,下面一篇为berkeley db原始两位作为的Berkeley DB设计回忆录: Conway's Law states that a design reflects the structure of the organization that produced
阅读全文
摘要:昨天有个linux应用在使用vs 远程debug的时候,debug可以正常进行,但是监视变量的时候提示-VAR-CREATE: UNABLE TO CREATE VARIABLE OBJECT,经测试,加上-gdwarf-2编译选项即可。
阅读全文
摘要:make[5]: *** [install-bfdincludeHEADERS] Error 1make[5]: Leaving directory `/usr/local/gdb-7.10/bfd'make[4]: *** [install-am] Error 2make[4]: Leaving
阅读全文
摘要:今天,我们性能测试的环境出现个奇怪现象,通过oci direct load回库的进程似乎僵死了,应用端cpu 200%(两个线程在跑,一个是一直在ocidirectload没反应,另外一个是正在sem_trywait),如下: oracle服务器端从一开始收到请求并执行完成之后,就没有反应了,也没有
阅读全文
摘要:windows下dll动态库函数的导入与导出。 __declspec Microsoft Specific __declspec ( extended-attribute ) declarator linux下使用会报语法错误。 有时候,vs中还会提示下列错误: 这是因为定义EXPORT宏的头文件还
阅读全文
摘要:今天调试有个linux环境的应用时,gdb提示A syntax error in expression, near `variable)'.,最后经查,gdb版本过低(比如7.2)或者源代码不匹配所致,确保源代码匹配,gdb在gcc之后发布,问题解决。 基于gdb的前端调试器https://sour
阅读全文
摘要:昨天晚上9点多,有个环境开发说特别慢,早上上去看下了,如下: 导致性能的是一个统计的sql执行计划走错了,主要不是因为kpodplck wait before retrying ORA-54,不过这个事件以前就没遇到过,经google,没搜到相关信息,只看到了itpub某个帖子提到KPODPLCK
阅读全文
摘要:这几天在分析一个性能未达预期的功能,使用gperftools cpu profiler生成后,使用pprof格式化的时候,发现pprof出的结果函数名未翻译、为函数地址,如下所示: 每个节点代表一个函数,节点数据格式: Class Name Method Name local (percentage
阅读全文
摘要:前一段跟同事聊项目组已有的一些工具,同事讲里面有太多的malloc与memset,对性能的影响比较大,因此今天就在自己的机器上测试了这两个函数,不多说,上数据。测试环境:2.2GHZ、2G内存memset一段大小为1K的buf,每秒有1200万次;10K的buf,每秒有260万次;100K的buf,
阅读全文
摘要:Program terminated with signal 6, Aborted,有可能啥原因呢?其中一种原因就是事实上的OOM(虽然/var/log/message中没有标明操作系统kill了进行,应该是进程内部初始化已申请内存时报错了,因为malloc的申请会被OS尽可能延后的分配,所以很有可
阅读全文
摘要:最近,在debug core的时候,发现p 变量的时候提示“No symbol "*" in current context”,我们的代码使用-g编译的,经查有可能是下列几个原因或解决方法: 注:make gdb的时候可能会出现/gdb-7.10/missing: line 81: makeinfo
阅读全文
摘要:当gdb的版本低于相应的gcc版本的时候,就会出现debug的时候出现No symbol "*" in current context或者The address where a.out.debug has been loaded is missing等错误,此时需要确保gdb的版本应该在gcc发布之
阅读全文
摘要:我们有台测试服务器pro*c/oci应用总是发生各种比较奇葩的现象,就这一台机器会发生,其他几十台都不会发生。 sig 11的原因,内存地址访问越界。各signo的si_code含义可参考http://man7.org/linux/man-pages/man2/sigaction.2.html,在本
阅读全文
摘要:typeid和typeof是c++/gcc编译器的两个关键字,也就是操作符,所以他们根本就不会声明在头文件中。 只不过typeid返回的是type_info,它定义在<typeinfo>头文件中,同时,要使用typeid,就必须先包含该头文件。如下: This header defines type
阅读全文
摘要:因为我们整个项目都是使用c++开发的,生成的so足有50M,原来编译一遍要三五分钟,一个针对oracle,一个针对mysql,整个轮回下来这部分就要10来分钟,加上代码上传、翻译,一轮配管打包下来二三十分钟。BOSS有些生气,效率比较低。今天一大早到公司就着手测试。经在本地vmware测试,编译gp
阅读全文
摘要:同样,使用的是VS FOR LINUX进行测试。 converting to execution character set: Invalid or incomplete multibyte or wide character 如果编译时候遇到该错误,则可以加上-finput-charset -fe
阅读全文
摘要:一直以来,相信绝大部分的开发都是windows/mac下做开发,尤其是非嵌入式和qt系的,而开源服务器程序绝大部分都是跑在Linux下,几乎就没有跑在windows下的。一直以来开发人员都是在windows下调试好非平台相关部分,然后到具体环境下去调试平台相关接口。 有着宇宙第一IDE之称的VS自从
阅读全文
摘要:总体来说,各个步骤以及版本参考官方文档http://nginx.org/en/docs/howto_build_on_win32.html一点没错,有些细节没说清楚。 To build nginx: Start MSYS bash. Check out nginx sources from the
阅读全文