avatar
文章
324
标签
40
分类
15

Helloeuler
搜索
栈溢出问题分析
发表于2018-01-16|经验总结
近日,程序总是莫名其妙的coredump,而且还是在变量定义的时候(如 int a=1),百思不得其解。在这种情况下,只有几种情况可能出现:内存踩踏、栈溢出。 在经过长时间的分析确认,肯定不是内存踩踏。剩下的就是栈溢出了。Linux下一般单个程序栈大小为10M,可用ulimit -s查阅。一般情况下,10M的大小足够用,怎会出现栈溢出。再次对代码进行了详细的分析,发现有一处临时变量的结构竟然有2M之巨。此处确实难以理解,为何采用如此大的结构体。可能是考虑到动态分配内存用不好容易导致内存泄漏,因此采用临时变量。另外该函数又被递归调用两次,因此该函数就耗用接近5M的栈空间。将该结构体改为指针后,该问题即解决。 解决该问题后,过了一段时间又出现了该问题,耗费较长时间后,最终确定又是栈溢出导致的。 查阅一番资料发现有一库可以检测栈溢出问题,现分享给大家,它就是libsigsegv。使用方法如下: 1.下载libsigsegv库,编译并安装。 12345tar -xvzf libsigsegv-2.11.tar.gzcd libsigsegv-2.11./configuremak ...
Mobaxterm工具
发表于2018-01-14|工具
1 登录1.1 远程登录1.1.1 内建命令行模式 点击 图标,在弹出的窗口中选择SSH连接,然后填入Remote host IP及用户名。 点击确认后输入密码即可 1.1.2 Gnome模式(类似VNC) 点击![img](MobaXterm工具/SouthEast.png)图标,在弹出的窗口中选择SSH连接,然后填入Remote host IP及用户名。 2) 点击Advanced SSH settings,设置Remote environment为3) 点击确认后输入密码即可 1.2 串口登录 点击![img](MobaXterm工具/SouthEast.png)图标,在弹出的窗口中选择Serial连接,然后选择port和speed。 点击确认后即可 1.3 其他MobaXterm还支持其他协议登录 FTP TFTP 2 查看文件、上传下载文件当远程登录后,我们在左侧会出现文件列表,我们可以直接从windows上传文件,下载文件。 3 多窗口同时执行 登录多个待同时执行的 ...
Linux笔记
发表于2018-01-01|经验总结
第 1 章 Linux管理1.1 Linux基本指令1.1.1 addr2lineaddr2line –e pgw 0Xfffff 另外:dmesg |grep pgw 注意:编译pgw需添加-g选项才可以找到所在行 1.1.2 alias重命名: alias killim=”kill $(ps –A | awk ‘/im_test/{print $1}’)” 1.1.3 ar ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。 下面是ar命令的格式: ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files… 例如我们可以用ar rv libtest.a hello.o hello1.o来生成一个库,库名字是test,链接时可以用-ltest链接。该库中存放了两个模块hello.o和hello1.o。选项前可以有‘ ...
深入解析Linux 常用命令--sshpass
发表于2017-12-30|Linux命令
sshpass 用于ssh远程登录 2015/7/11
深入解析Linux 常用命令--top
发表于2017-12-30|Linux命令
1.概述当我们在Linux环境下运行我们的程序时,我们经常会使用top命令来查看程序的运行状态,CPU、内存使用情况,类似我们在Windows下的任务管理器,可以查看内存的使用情况,剩余情况等。 2.各项说明在终端中直接输入top即可查看当前资源使用情况信息。 1234567891011121314151617181920212223242526272829[root@smart linux]# toptop - 22:52:37 up 2:55, 4 users, load average: 0.01, 0.03, 0.00Tasks: 190 total, 1 running, 189 sleeping, 0 stopped, 0 zombieCpu(s): 1.6%us, 0.3%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.1%hi, 0.0%si, 0.0%stMem: 1939652k total, 462412k used, 1477240k free, 46596k buffersSwap: 209714 ...
深入解析Linux 常用命令--ps
发表于2017-12-29|Linux命令
ps用于显示当前正在运行的进程。 ps - report a snapshot of the current processes. 常用参数: ps -ef|grep x ps -aux|grep x 列出详细信息
深入解析Linux 常用命令--route
发表于2017-12-29|Linux命令
1.概述route用于查看路由表、增加路由、删除路由、修改路由表等操作。 2.路由类型a.主机路由:表示指向单个IP地址或主机名的路由 b.网络路由:表示指向某个网路的路由 c.默认路由:表示不能再路由表中找到的目标主机或网路的路由 3.命令a.显示数字地址(不解析主机名)route -n,该命令经常使用,由于直接输入route主机会去接析主机名,有时候会耗用较长时间。 1234567891011121314[root@smart Desktop]# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.1.0 * 255.255.255.0 U 1 0 0 eth0192.168.42.0 * 255.255.255.0 U 1 0 0 eth1192.168.122.0 ...
深入解析Linux 常用命令--lsof
发表于2017-12-28|Linux命令
1.概述lsof用于显示打开的文件。list open files。 2.各参数含义a.-c列出指定进程所打开的文件 12345678[root@smart Desktop]# lsof -c XorgCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEXorg 2846 root cwd DIR 253,0 4096 653625 /var/gdmXorg 2846 root rtd DIR 253,0 4096 2 /Xorg 2846 root txt REG 253,0 2295880 956717 /usr/bin/XorgXorg 2846 root mem REG 253,0 122232 787409 /lib/libgcc_s-4.4.7-20120601.so.1Xorg 2846 root mem REG ...
深入解析Linux 常用命令--cut
发表于2017-12-26|Linux命令
1.概述cut用于截取部分字符或字符串等 2.各参数含义a.-b 选择部分字节 cut -b 1 选择第一个字节 cut -b 1- 选择第一个字节及其后的字节 cut -b 3,5,6- 1234567891011[root@smart temp]# cat test.txt |cut -b 1htit[root@smart temp]# cat test.txt |cut -b 1-hellothis is test [root@smart temp]# b.-c 选择部分字符 12345[root@smart temp]# cat test.txt |cut -c 1-hellothis is test c. -d 分割,常与-f使用 123456#以空格为分割,取出第一个[root@smart temp]# cat test.txt |cut -d' ' -f 1 hellothisistest d. -f 区域 -i interval ,ping包间隔
深入解析Linux 常用命令--du
发表于2017-12-25|Linux命令
1.概述du常用于查看磁盘剩余空间大小。 2.不带参数默认情况下,df显示磁盘空间使用情况 123456[root@smart linux]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/vg_smart-lv_root 18069936 5379972 11772052 32% /tmpfs 969824 224 969600 1% /dev/shm/dev/sda1 495844 37653 432591 9% /boot[root@smart linux]# 3.以人类可读方式df -h 12345[root@smart linux]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_smart-lv_ ...
基于LTE系统的GRE隧道配置方法
发表于2017-12-25|经验总结
今日由于项目需求,需要搭建一个承载于LTE系统的数据隔离测试网,该方案采用GRE隧道方案,通过不同目的IP地址走不同隧道来实现数据隔离。 0.前言​ 此处GRE并非是Graduate Record Examination(美国研究生入学考试),此处为通信行业名词,Generic Routing Encapsulation,即通用路由封装。它可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中进行传输。 ​ 此处有较多的专业术语,先列举出来,如下: LTE: Long Time Envolved,长期演进计划,即当前的4G系统 EPC:Envolved Packet Core,演进的分组核心网 CPE: Customer Premise Equipment ,一种无线接入终端设备 SGi接口:EPC中PGW与外部网络接口 GW:gateway,网关 ​ 1.GRE网络拓扑各设备IP地址如下图所示。 ​ 2.配置步骤2.1 博特CPE配置开启GRE隧道配置进入“配置/虚拟专网/GRE隧道设置”,配置如下: 配置隧道名称为g0。 隧道 ...
深入解析Linux 常用命令--cd
发表于2017-12-24|Linux命令
1.概述cd常用于切换目录,改变目录(change directory) 2.切换目录cd [Directory] , [Directory] 可以 为任意存在的目录。 12345678[root@smart Desktop]# pwd/root/Desktop[root@smart Desktop]# cd /[root@smart /]# pwd/[root@smart /]# cd /home/[root@smart home]# pwd/home 3.切换到上一次目录cd - 123456[root@smart /]# cd /opt/rh/[root@smart rh]# pwd/opt/rh[root@smart rh]# cd /home[root@smart home]# cd -/opt/rh 4.返回上级目录cd .. 切换到上级目录 cd ../.. 切换到上级目录的上级目录 12345[root@smart rh]# pwd/opt/rh[root@smart rh]# cd ..[root@sma ...
深入解析Linux 常用命令--du
发表于2017-12-24|Linux命令
1.概述du常用于查看占用空间大小。 2.不带参数默认情况下,du只显示文件夹大小。 1234567891011121314151617181920[root@smart Desktop]# ls -paa cd.txt.bak2 ls.test test.md wireshark.desktopalias.txt du.txt ls.txt test.md~cat.txt k.txt ls.txt.bak test.txtcd.txt linux/ test.log test.txt2cd.txt.bak ls (copy).test~ test.log.bak test.txt3[root@smart Desktop]# du1340 ./linux/txt4 ./linux/h/abcde8 ./linux/h4 ./linux/B/A8 ./linux/B4 ./linux/.dir4 ./linux/ss8 ./ ...
深入解析Linux 常用命令--mv
发表于2017-12-24|Linux命令
1.概述mv常用于重命名文件或文件夹。 2.各选项解释1)-f -f选项表示:不管文件是否存在均不出现提示。 12345[root@smart linux]# mv a bmv: overwrite `b'? y[root@smart linux]# touch a [root@smart linux]# mv -f a b 2)–backup/-b该选项用于在存在已有文件的情况下,备份文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849[root@smart linux]# mv --backup b b.cmv: overwrite `b.c'? y[root@smart linux]# lltotal 40drwxr-xr-x. 2 root root 4096 Nov 8 21:52 Adrwxr-xr-x. 2 root root 4096 Nov 3 19:52 abcdedrwxr-xr-x. 3 roo ...
深入解析Linux 常用命令--rm
发表于2017-12-24|Linux命令
1.概述rm也是我们经常用到的一个Linux命令,常用于文件和文件夹的删除,rm取自于remove。官方解释为:“Remove files or directories”,即移除文件和目录。 2.各选项解释1)-f -f选项表示:不管文件是否存在均不出现提示。 12[root@smart linux]# rm -f a.t[root@smart linux]# rm -f b.t 2)-r/-R-r/-R表示:递归删除文件或目录 1234567891011121314[root@smart linux]# rm -r arm: remove regular file `a'? y[root@smart linux]# rm -r grm: descend into directory `g'? yrm: remove directory `g/abcde'? yrm: remove directory `g'? y[root@smart linux]# rm -R erm: descend into directory ...
1…19202122
avatar
juyin
文章
324
标签
40
分类
15
最新文章
Linux 5.10内核__vfs_getxattr函数用法2025-07-30
Linux __vfs_getxattr函数用法及示例,要求不能2025-07-30
Linux内核vfs_getxattr接口不使用睡眠函数的实现2025-07-30
Linux内核接口__vfs_getxattr的用法及示例2025-07-30
Linux读取文件扩展属性方法总结2025-07-30
分类
  • Linux2
  • Linux Kernel2
  • Linux kernel1
  • Linux命令20
  • deepseek240
  • openEuler4
  • 个人1
  • 内存管理1
标签
LinuxSSHuseraddvdsoLinux Kernel内存管理virt_to_page物理地址转换TensorFlow深度学习openEulerwslopenEuler embeddedqemu社区提交安全LSM工具makefileglibc, musl一致性软件依赖命令C调试libclilog4cplus生长因子GRE协议编码风格栈溢出磁盘阵列GCCgcc插件Linux加固KASLRSELinuxMACdeepseek
归档
  • 七月 202590
  • 六月 202551
  • 五月 202557
  • 四月 202533
  • 三月 20259
  • 二月 20254
  • 一月 20251
  • 九月 20241
网站资讯
文章数目 :
324
本站访客数 :
本站总访问量 :
Copyrigh ©2016 - 2025 By juyin
Powered by Hexo Theme(Butterfly)
搜索
数据库加载中