月度归档:2019年03月

coredump文件生成样例测试源码,修改coredump大小及目录

 用c编写的程序在运行出错时,系统会生成coredump文件,如果系统没有生成可以通过命令

ulimit -c unlimited

1:添加pid作为扩展名,生成的core文件名称为core.pid
0:不添加pid作为扩展名,生成的core文件名称为core
修改 /proc/sys/kernel/core_uses_pid 文件内容为: 1
修改文件命令: echo “1” > /proc/sys/kernel/core_uses_pid
或者
sysctl -w kernel.core_uses_pid=1 kernel.core_uses_pid = 1

b. 控制core文件保存位置和文件名格式
修改文件命令: echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
或者:
sysctl -w kernel.core_pattern=/corefile/core-%e-%p-%t kernel.core_pattern = /corefile/core-%e-%p-%t
可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
%p – insert pid into filename 添加pid(进程id)
%u – insert current uid into filename 添加当前uid(用户id)
%g – insert current gid into filename 添加当前gid(用户组id)
%s – insert signal that caused the coredump into the filename 添加导致产生core的信号
%t – insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h – insert hostname where the coredump happened into filename 添加主机名
%e – insert coredumping executable name into filename 添加导致产生core的命令名
——————— 
作者:faithfu_yy 
来源:CSDN 
原文:https://blog.csdn.net/u011417820/article/details/71435031 
版权声明:本文为博主原创文章,转载请附上博文链接!

1)coredump文件生成样例测试源码

使系统生成产生core文件,这样就可以利用core文件查看程序是在哪一行出现错误了,具体的方法如下:
1、程序编译时要加-g选项,保证debug信息生成在应用程序当中

2、如果运行过程中出错,执行下面命令查看程序哪里出现错误:

gdb a.out core

举例来说:
#include <stdio.h>
int main(int argc, char** argv) {
  int* p = NULL;
  *p = 10;
}

上面的程序会运行出错,用g++ -g编译后,生成a.out,运行a.out,产生core文件,当执行gdb a.out core时,gdb会自动停止在出错的位置。

禅道7.3升级到11.3版本,通过源代码方式升级(通用)

一、升级步骤

  1. 在我们 网站下载新版本的源码包,以.zip结尾。wget http://dl.cnezsoft.com/zentao/11.3/ZenTaoPMS.11.3.stable.zip
  2. 解压缩新的程序,覆盖到原来的目录。比如之前禅道安装的目录是在/home/wwwroot/zentao下面,则将代码覆盖到/home/wwwroot/zentao,操作方法:unzip ZenTaoPMS.11.3.stable.zip ;cd zentaopms/ 下面复制所有的文件到 /home/wwwroot/zentao下面粘帖。参考命令:rsync -azv zentaopms/ /home/wwwroot/zentao/
  3. 执行升级程序。假设禅道的访问路径是http://192.168.1.99/,升级路径为http://192.168.1.99/upgrade.php。
  4. 根据向导,选择对应的版本,按照提示进行即可。

注意:不要将原来的程序移走,再解压缩新的版本,注意是覆盖!不要拷贝成/home/wwwroot/zentao

          不要下载.exe结尾的程序进行升级,那样子会覆盖原来的数据!

二、插件兼容问题

如果升级之前有安装过第三方朋友开发的插件,需要注意检查下是否和新版本的禅道兼容。如果发现升级之后无法访问,可以替换一下禅道运行代码:

1、把禅道当前运行代码文件夹改名(一般默认是 zentao 或者 zentaopms);

2、到 禅道官网下载相同版本禅道的源码,解压后放在同目录下面,保持文件夹名字和之前禅道运行代码文件夹名称相同 。

3、把原先文件夹中的  config/my.php  www/data/upload/1  www/.ztaccess   www/.htaccess 拷贝到新禅道文件夹对应目录,再访问禅道试试。

cento6 下载源码升级curl到7.62.0

cento6 下载源码升级curl到7.62.0

由于业务需要,服务器上的curl 版本太老了,有漏洞,于是抽点时间升级最新版本,确保服务器间通信安全,然后网上看了些教程,发现各不相同,最后找到一个最简单,最方便的方法,分享给大家。

wget https://curl.haxx.se/download/curl-7.62.0.tar.gz

tar -zxvf curl-7.62.0.tar.gz

cd curl-7.62.0

./configure

make && make install

curl -V