前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >编译、链接到载入、运行的大致过程----4.运行

编译、链接到载入、运行的大致过程----4.运行

作者头像
qsjs
发布于 2020-06-08 04:16:59
发布于 2020-06-08 04:16:59
63700
代码可运行
举报
运行总次数:0
代码可运行

根据前面所述,可执行文件的type=LOAD的segment才会被装载,但是并不会把所有的data和code都加载到内存,因为这样浪费空间也没有必要;装载的时候是按照page(默认为4KB,也就是0x1000)对齐的方式进行加载,加载之后,程序运行时所访问的地址仍然是虚拟地址,这个虚拟地址就是前文所述的“内存虚拟地址”,而 加载之后的数据毕竟是存在于“物理内存”中的,所以这个“内存虚拟地址”和“物理内存地址”之间需要有一个转换,而这个转换工作是“MMU”物理部件来完成的;MMU物理部件管理“内存虚拟地址”到“物理内存地址”的映射;

程序运行到某个代码段或者访问数据的时候,如果在内存中找不到数据,那么就会产生一种叫做page fault的异常,然后进入异常处理程序,而这个异常处理的过程所作的事情是: 把数据从物理磁盘或者swap空间 调入到内存,并做好“虚拟内存地址” 到“物理内存地址”的mapping. 处理完异常之后,程序会回到原来的断点继续运行;

如果程序在运行的过程中发生了内存访问错误,通常会触发core dump, 如果系统开启了core dump, 那么会导出当时的系统内存映像到一个core dump的文件里面,然后可以用gdb 工具对这个core dump 文件进行调式,从而尽可能获得当时的内存状况,分析发生crash的原因,core dump 中使用的地址依然是”内存虚拟地址“, 所以 在程序运行的过程中,我们完全可以不考虑”内存物理地址“,因为”内存虚拟地址“ 到”内存物理地址“的mapping 对程序员来说是透明的,即便是进行debug,也无需关心”内存物理地址“。

下面简要说明core dump 如何开启以及配置:
  1. "ulimit -c SIZE" 用于指定core file的大小(默认单位为KB),如果触发core dump时候的大小 超过指定的SIZE, 那么也不会进行core dump. 这个值默认为0, 表示不进行core dump, 最大可以设置为 unlimited . 建议设置为 memory的大小;ulimit 命令设置的大小在重起后就失效了,所以最好写入 /etc/profile 之类的文件;
  2. 设置core dump发生时候对应的文件路径以及名称,比如: echo "/root/core.%P" >/proc/sys/kernel/core_pattern 表示生成的路径在/root/ 下, 文件名为:core.%P , 其中扩展参数可以用来限定dump文件的名称,具体如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%p - insert pid into filename
%u - insert current uid into filename
%g - insert current gid into filename
%s - insert signal that caused the coredump into the filename
%t - insert UNIX time that the coredump occurred into filename
%h - insert hostname where the coredump happened into filename
%e - insert coredumping executable name into filename

默认的路径为: /var/logs, 而因为默认的/var/logs 并不是系统自带的路径,所以必须手动创建该目录,否则 core dump 触发的时候也不会生成相应的文件.

  1. 配置完成,要检验是否可以成功生成coredump 文件,可以通过发送信号的方式来测试:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@www kernel]# bash           #产生一个新的session
[root@www kernel]# ulimit -c unlimited       
[root@www kernel]# echo "/root/core_%p_%s_%e.%h.%t" >./core_pattern
[root@www kernel]# kill -s SIGSEGV $$         #发送信号,让其触发core dump. 
Segmentation fault (core dumped)
[root@www kernel]# ls -l /root | grep core              #生成的core dump 文件
-r--------+ 1 root root 1417216 Mar  8 17:06 core_3427_11_bash.www.my.com.1583658365
[root@www kernel]# 

上面例子,表示成功生成了core dump 文件,core dump的配置成功完成;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
我开源的项目被实习过的公司要求下架,对方还威胁要起诉我
机器之心报道 编辑:蛋酱 科技公司CEO:「最重要的是,我们有了很多钱可以支付顶级律师的费用。」 打工人的生活,向来是不容易的。开发者 Radon,最近遇到了一点和前雇主之间的麻烦。 Radon Rosborough 是一名 2020 年刚刚本科毕业的新人,目前在加州金融科技公司 Plaid 担任软件工程师。在全职工作之余,他也会维护一些开源项目。 大学期间,和很多同学一样,Radon 曾在暑假找到一家科技公司实习。Replit 是一家制作在线应用程序的公司,用户可以用它以不同的编程语言在线运行代码。 欢
机器之心
2023/03/29
3070
我开源的项目被实习过的公司要求下架,对方还威胁要起诉我
怼腾讯的应届生回应被标注永不录用;GitHub推出只有赞助者能访问的私有库;苹果成2021年全球最大芯片买家 | EA周报
近日,Gartner发布了2021年排名前10位的半导体芯片买家。在2021年,苹果的支出达到了682.69亿美元,与去年相比增长了26%,稳居第一。华为虽然仍以153.82亿美元的采购支出上榜,但涨幅却是-32.3%,是榜单中唯一一个出现负增长的企业。
yuanyi928
2022/03/29
4990
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
1月初,开发者Marak Squires给大伙儿表演了一个删库跑路,而且针对的还是自己的两个项目。
新智元
2022/02/24
5830
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
一个8000行代码的开源项目,融了1700万美元:两人四天打造的Browser Use是如何闪电崛起的?
本周,初创公司 Browser Use 宣布完成 1700 万美元融资,由 Felicis Ventures 领投,A Capital、Nexus Ventures、Y Combinator、Paul Graham、Liquid2、SV Angel、Pioneer Fund 等跟投。
深度学习与Python
2025/03/31
1490
一个8000行代码的开源项目,融了1700万美元:两人四天打造的Browser Use是如何闪电崛起的?
想去Google Brain实习吗?如何申请?Jeff Dean等牛人很认真地回答了这些问题
编译 | AI科技大本营(rgznai100) 参与 | 鸽子、Shawn 导语:昨晚谷歌大脑(Google Brain)在Reddit上举办了一年一度的在线答疑活动AMA,Google Brain负责人Jeff Dean,Google首席科学家,Google Brain团队技术负责人Vincent Vanhoucke和其同事热情地回答了网友们提出的各种问题。AI科技大本营从中选取了一些代表性的问题,通过这些问答你可以了解如何申请谷歌的实习项目、申请注意事项、申请及面试建议、实习生的日常工作,还有谷歌
AI科技大本营
2018/04/26
1.6K0
想去Google Brain实习吗?如何申请?Jeff Dean等牛人很认真地回答了这些问题
华为再提“炸掉研发金字塔”;腾讯实习生叫板总裁,要求“务必回复”;某知名公司被曝1780元裁掉身患绝症的十年老员工 | Q资讯
整理 | Tina 时隔五年,华为再提“炸掉研发金字塔”;腾讯实习生叫板总裁,要求杜绝陪酒文化并“务必回复”;某知名游戏公司被曝 1780 元裁掉身患绝症的 10 年老员工;阿里成立反职场陋习小组,无条件支持员工拒绝劝酒;AWS 和 Elastic 矛盾再升级;Redis Labs 公司正式宣布更名为 Redis;GitHub 的工程团队已经转移到 Codespaces...... 科技公司  时隔五年,华为再提“炸掉研发金字塔” 8 月 8 日,一篇首发于 2016 年、由任正非签发,标题为《华为到该炸掉
深度学习与Python
2023/04/01
5210
华为再提“炸掉研发金字塔”;腾讯实习生叫板总裁,要求“务必回复”;某知名公司被曝1780元裁掉身患绝症的十年老员工 | Q资讯
GPT-4竟被CS学生「开源」了!OpenAI威胁:不撤下项目就告你
---- 新智元报道   编辑:好困 Aeneas 【新智元导读】最近,一名来自欧洲的计算机系学生竟然把GPT-4给「开源」了。利用OpenAI加持的网站的API,开发者即可免费体验GPT-3.5/GPT-4。对此,OpenAI紧急发邮件警告:5天之内关闭项目,否则提起诉讼。 众所周知,ChatGPT是免费的,但想尝试最新最强的GPT-4,基本上就只有「氪金」这一条路可以走—— 要么订阅ChatGPT Plus,要么付费调用API。 虽然也有一些集成了GPT的网站,比如微软的必应、You.com等,但
新智元
2023/05/09
3310
GPT-4竟被CS学生「开源」了!OpenAI威胁:不撤下项目就告你
AWS分叉了我的开源项目,但他们连声感谢也没说
上周四,Amazon Web Services 推出了 CloudWatch Synthetics Recorder。这是一款面向 Chrome 浏览器的扩展程序,可以说是直接照搬自开发者 Time Nolet 为该浏览器打造的 Headless Recorder 项目。
深度学习与Python
2020/11/06
4410
AWS分叉了我的开源项目,但他们连声感谢也没说
暑期实习开始啦「GitHub 热点速览」
无巧不成书,刚好最近有小伙伴在找实习,而 GitHub 热榜又有收录实习信息的项目在榜。所以,无意外本周特推就收录了这个实习项目,当然还有国内版本。除了应景的实习 repo 之外,还有帮你管理文件的 spacedrive、管理窗口的 yabai,以及管理 ai 工具的 SuperAGI。
HelloGitHub
2023/08/19
4040
暑期实习开始啦「GitHub 热点速览」
做了 10 年开源项目,我总结出这 10 个经验
本文由 SpiderFoot 开源项目作者撰写,分享了他从这一项目中吸取的 10 个经验。InfoQ 中文站翻译并分享。
深度学习与Python
2022/03/24
2750
做了 10 年开源项目,我总结出这 10 个经验
传字节跳动实习生删库酿严重事故;快手7月取消大小周;华为Linux内核贡献者被质疑刷KPI,实为使用自动提交脚本? | Q资讯
整理 | 蔡芳芳 快手宣布 7 月将取消大小周,员工按需加班;传字节跳动实习生删除 GB 以下所有机器学习模型;Kafka 背后的公司 Confluent 正式 IPO,市值达 114 亿美元;华为 Linux 内核贡献者被质疑刷 KPI,实为使用自动提交脚本?微软 Windows 11 正式发布,支持直接运行 Android 应用;中科院计算所开源高性能 RISC-V 处理器“香山”;杀毒软件 McAfee 创始人死于狱中…… 科技公司  快手宣布 7 月将取消大小周,员工按需加班 6 月 24 日晚间消
深度学习与Python
2023/04/01
5000
传字节跳动实习生删库酿严重事故;快手7月取消大小周;华为Linux内核贡献者被质疑刷KPI,实为使用自动提交脚本? | Q资讯
别说创业维艰,16岁开发者从辍学歧视死亡威胁, 到开发出爆款应用, 她的人生远非成人想象
近来,比特币的行情如过山车,心脏不好的人都不敢直视。在追踪比特币走势的过程中,营长意外发现了一个加密货币行情追踪神器——Crypto Price Tracker。
区块链大本营
2019/01/02
4340
七个很实用的开源项目「GitHub 热点速览」
本周特推的两个项目都是异常实用的项目,一个接棒上周的视频重制项目 video-retalking 这次则是直接将视频替换成另外一个语种;另外一个则是解决日志阅读问题的 tailspin,让你在成千上万条日志中快速定位特定的日志。
HelloGitHub
2023/11/06
9260
七个很实用的开源项目「GitHub 热点速览」
2022 年全球数据泄露事件 TOP 100 | FreeBuf 年度盘点
数字化时代,数据已然是一种战略资源,是企业发展经营的“催化剂”,企业拥有的数据规模以及数据处理能力,决定其是否具备核心竞争力,因此数据成为了网络犯罪分子眼中的“摇钱树”。
FB客服
2023/02/10
2.2K0
2022 年全球数据泄露事件 TOP 100 | FreeBuf 年度盘点
一周AI看点 | 迪拜新任命的人工智能国家部长仅27岁,吴恩达招实习生没上过Coursera课的不要
本期一周AI看点包括行业资讯、投融资、业界观点、技术前沿以及应用等方面。 行业 百度或分拆国际化事业部,进一步聚焦人工智能战略 《财经》近日报道称,百度国际化事业部将大概率面临分拆。《财经》引述接近百度国际化事业部人士称,分拆将分为三部分,其中包括:移动产品矩阵和海外移动广告平台独立分拆,将在日本收购的原生广告平台popIn与百度人工智能团队整合,出售在巴西收购的团购网站PeixeUrbano。其中前两部分在分拆后,分别由百度国际化事业部副总经理胡勇和百度日本分公司总经理张成焕继续负责。 阿里达摩院火
AI科技大本营
2018/04/28
1K0
一周AI看点 | 迪拜新任命的人工智能国家部长仅27岁,吴恩达招实习生没上过Coursera课的不要
离开云转战 AI? 23 岁写了百万人用的开源软件,这个 IT 奇才 11 年后离开了自己的上市公司
“不同于云平台转变,AI 代表的是另外一种平台迭代,但同样有望从根本上改变我们构建和交付软件的方式。”
深度学习与Python
2023/12/20
1390
离开云转战 AI? 23 岁写了百万人用的开源软件,这个 IT 奇才 11 年后离开了自己的上市公司
腾讯应届生怒怼管理层“表彰过度加班”;别人家的年终奖:“365天带薪休假”;Apache项目控诉火山引擎违反开源法则 | Q资讯
腾讯应届生手撕领导,怒怼管理层“表彰过度加班”。高管回应将“认真反思,尽快整改”,网友表示“教年轻人做事的时代过去了”;360 全面转型数字安全公司,周鸿祎:不会裁员,手中最大的资产就是团队;程序员春节相亲规划火出圈儿;张一鸣卸任字节跳动关联公司法定代表人;别人家的年终奖:小伙年会抽中“365 天带薪休假”;Apache SkyWalking 控诉火山引擎不尊重开源规则,火山引擎致歉并表示将“全面自查”.....
深度学习与Python
2022/03/23
5440
腾讯应届生怒怼管理层“表彰过度加班”;别人家的年终奖:“365天带薪休假”;Apache项目控诉火山引擎违反开源法则 | Q资讯
一位号称“蜘蛛侠”的黑客,搞瘫了一个国家的网络
被称为Spdrman的黑客Daniel Kaye觉得,朝九晚五的固定工作不好做,但当企业间谍却易如反掌。一支有史以来最庞大的僵尸网络涌向非洲最贫穷国家之一的利比里亚时,该国最大的运营商的网络终于不堪重负,慢慢瘫痪了。
大数据文摘
2020/02/24
5820
一位号称“蜘蛛侠”的黑客,搞瘫了一个国家的网络
还原真实的腾讯:从最不被看好,到即时通讯巨头的草根创业史
本文原文由CSDN组织翻译并以原题《腾讯帝国的野蛮生长史》发布于CSDN公众号,英文原文:hackernoon.com/the-chinese-social-network-bb282204af9c,本次收录时有改动。
JackJiang
2019/01/28
1.7K0
社会工程:攻击系统、国家和社会(一)
社会工程是一种极其有效的攻击过程,超过 80% 的网络攻击,其中超过 70% 是来自国家级别的,都是通过利用人类而不是计算机或网络安全漏洞发起和执行的。因此,要构建安全的网络系统,不仅需要保护构成这些系统的计算机和网络,还需要对其人类用户进行安全程序的教育和培训。
ApacheCN_飞龙
2024/05/24
2410
推荐阅读
我开源的项目被实习过的公司要求下架,对方还威胁要起诉我
3070
怼腾讯的应届生回应被标注永不录用;GitHub推出只有赞助者能访问的私有库;苹果成2021年全球最大芯片买家 | EA周报
4990
删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
5830
一个8000行代码的开源项目,融了1700万美元:两人四天打造的Browser Use是如何闪电崛起的?
1490
想去Google Brain实习吗?如何申请?Jeff Dean等牛人很认真地回答了这些问题
1.6K0
华为再提“炸掉研发金字塔”;腾讯实习生叫板总裁,要求“务必回复”;某知名公司被曝1780元裁掉身患绝症的十年老员工 | Q资讯
5210
GPT-4竟被CS学生「开源」了!OpenAI威胁:不撤下项目就告你
3310
AWS分叉了我的开源项目,但他们连声感谢也没说
4410
暑期实习开始啦「GitHub 热点速览」
4040
做了 10 年开源项目,我总结出这 10 个经验
2750
传字节跳动实习生删库酿严重事故;快手7月取消大小周;华为Linux内核贡献者被质疑刷KPI,实为使用自动提交脚本? | Q资讯
5000
别说创业维艰,16岁开发者从辍学歧视死亡威胁, 到开发出爆款应用, 她的人生远非成人想象
4340
七个很实用的开源项目「GitHub 热点速览」
9260
2022 年全球数据泄露事件 TOP 100 | FreeBuf 年度盘点
2.2K0
一周AI看点 | 迪拜新任命的人工智能国家部长仅27岁,吴恩达招实习生没上过Coursera课的不要
1K0
离开云转战 AI? 23 岁写了百万人用的开源软件,这个 IT 奇才 11 年后离开了自己的上市公司
1390
腾讯应届生怒怼管理层“表彰过度加班”;别人家的年终奖:“365天带薪休假”;Apache项目控诉火山引擎违反开源法则 | Q资讯
5440
一位号称“蜘蛛侠”的黑客,搞瘫了一个国家的网络
5820
还原真实的腾讯:从最不被看好,到即时通讯巨头的草根创业史
1.7K0
社会工程:攻击系统、国家和社会(一)
2410
相关推荐
我开源的项目被实习过的公司要求下架,对方还威胁要起诉我
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文