当前位置: 首页 > news >正文

值得做的网站nba最新交易信息

值得做的网站,nba最新交易信息,苏宁易购网站建设 的定位,app平台需要多少钱//-I意为include 指定头文件搜索路径 -l:告诉编译器链接时需要的库 gcc *.c -I /usr/include/fastdfs/ -I /usr/include/fastcommon/ -l fdfsclient//调试gcc -g -rdynamic main.c如何解决 “ 段错误(吐核) ” ??? 【线上排错】记…
//-I意为include 指定头文件搜索路径 -l:告诉编译器链接时需要的库
gcc *.c -I /usr/include/fastdfs/ -I /usr/include/fastcommon/ -l fdfsclient//调试gcc -g -rdynamic main.c

如何解决 “ 段错误(吐核) ” ???
【线上排错】记一次Linux的“段错误(吐核)”排查步骤
Centos 开始Core调试
[Linux] 什么是 段错误(吐核)?
Linux环境下段错误的产生原因及调试方法小结

跟着视频操作,运行代码出现

[fish@localhost mytest]$ ./a.out
段错误(吐核)

参考了上述连接不断调试,并且反复校对代码和视频以及资料中的差别,无果
最后得到的调试信息是

(gdb) run
Starting program: /home/fish/mytest/./a.out 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7874a4a in __GI__IO_str_overflow (fp=0x7fffffffd2c0, c=91) at strops.c:133
133         *fp->_IO_write_ptr++ = (unsigned char) c;

个人感觉是哪个地方的读写出了问题,导致内存访问溢出了之类的,但是没找到具体是哪个语句的调用出了问题。先记一下,后续有时间再调。要是有知道哪儿出问题的大佬,请不吝赐教!
对应调用出错位置代码:

(gdb) l
128               fp->_IO_write_end = fp->_IO_buf_end;
129             }
130         }
131     
132       if (!flush_only)
133         *fp->_IO_write_ptr++ = (unsigned char) c;
134       if (fp->_IO_write_ptr > fp->_IO_read_end)
135         fp->_IO_read_end = fp->_IO_write_ptr;
136       return c;
137     }
(gdb) l
138     libc_hidden_def (_IO_str_overflow)
139     
140     int
141     _IO_str_underflow (_IO_FILE *fp)
142     {
143       if (fp->_IO_write_ptr > fp->_IO_read_end)
144         fp->_IO_read_end = fp->_IO_write_ptr;
145       if ((fp->_flags & _IO_TIED_PUT_GET) && (fp->_flags & _IO_CURRENTLY_PUTTING))
146         {
147           fp->_flags &= ~_IO_CURRENTLY_PUTTING;

贴下源码:
main.c

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include "fdfs_upload_file.h"int main(int argc,const char* argv[]){char fileID[1024] = {0};upload_file1("/etc/fdfs/client.conf","main.c",fileID);printf("fileID:%s\n",fileID);printf("==================\n");upload_file2("/etc/fdfs/client.conf","main.c",fileID,sizeof(fileID));printf("fileID:%s\n",fileID);return 0;
}

fdfs_upload_file.h

#ifndef _FDFS_UPLOAD_FILE_H
#define _FDFS_UPLOAD_FILE_Hint upload_file1(const char* confFile, const char* localFile, char* fileID);
int upload_file2(const char* confFile, const char* localFile, char* fileID, int bufLen);#endif

fdfs_upload_file.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/wait.h>
#include "fdfs_client.h"
#include "fdfs_upload_file.h"int upload_file1(const char* confFile,const char* localFile,char* fileID)
{char group_name[FDFS_GROUP_NAME_MAX_LEN + 1];ConnectionInfo *pTrackerServer;int result;int store_path_index;ConnectionInfo storageServer;if ((result=fdfs_client_init(confFile)) != 0){return result;}pTrackerServer = tracker_get_connection();if (pTrackerServer == NULL){fdfs_client_destroy();return errno != 0 ? errno : ECONNREFUSED;}*group_name = '\0';if ((result=tracker_query_storage_store(pTrackerServer, \&storageServer, group_name, &store_path_index)) != 0){fdfs_client_destroy();fprintf(stderr, "tracker_query_storage fail, " \"error no: %d, error info: %s\n", \result, STRERROR(result));return result;}result = storage_upload_by_filename1(pTrackerServer, \&storageServer, store_path_index, \localFile, NULL, \NULL, 0, group_name, fileID);if (result == 0){printf("%s\n", fileID);}else{fprintf(stderr, "upload file fail, " \"error no: %d, error info: %s\n", \result, STRERROR(result));}tracker_disconnect_server_ex(pTrackerServer, true);fdfs_client_destroy();return result;
}//多进程实现
int upload_file2(const char* confFile,const char* localFile,char* fileID,int bufLen){//创建管道int fd[2];int ret=pipe(fd);if(ret==-1){perror("pipe reeor");exit(0);}//创建子进程pid_t pid = fork();//如果是子进程if(pid==0){//3.标准输出重定向 -》管道的写端dup2(fd[1],STDOUT_FILENO);//4.关闭读端close(fd[0]);//5。执行execlp命令execlp("fdfs_upload_file","xxx",confFile, localFile, NULL);perror("execlp error");}else{//父进程,读管道//关闭写端close(fd[1]);read(fd[0],fileID,bufLen);//回收pcb-》子进程wait(NULL);}
}
http://www.shuangfujiaoyu.com/news/63638.html

相关文章:

  • 网站手机版怎么做网店运营教学
  • 一个网站主页开发费用百度关键词排名优化工具
  • 上海工业网站建设中国域名注册官网
  • 爱站网新网址是多少成人技能培训机构
  • 青岛网站建设咨询网络营销策划案范本
  • 主机屋怎么做网站单页网站制作
  • 聊城网站建设动态网络营销推广案例
  • 建一个网站需要哪些知识2023年免费进入b站
  • php做企业网站管理系统手游推广个人合作平台
  • 领优惠券的网站是怎么做的nba最新消息球员交易
  • php网站后台建设北京十大教育培训机构排名
  • 网站表格怎么做的怎么在百度发布自己的文章
  • wordpress php5.6版本seo营销优化
  • 点图片跳到网站怎么做的windows优化大师自动下载
  • 大健康网站怎么样做外贸网站优化公司
  • 黄山门票多少钱aso优化服务平台
  • 巴城镇建设网站上海最专业的seo公司
  • 创建免费网站的步骤seo服务靠谱吗
  • 做p2p网站 人员配置制作网站的步骤
  • 国内个人网站建设无锡网络优化推广公司
  • 网站未做安全隐患检测怎么拿shell百度提交
  • 政府网站建设调查企业网络营销策划
  • 做色情网站会怎么样itmc平台seo优化关键词个数
  • 温岭市建设局网站sem优化技巧
  • 网站开发需求文档模板升华网络推广软件
  • 动态网站留言板怎么做产品怎么在网上推广
  • 自己做视频网站能赚钱网站seo优化公司
  • 德升武汉网站建设seo诊断工具
  • 企业解决方案顾问文明seo
  • 静安区网站开发爱站网关键词挖掘查询