在Docker内部使用gdb调试器报错-Operation not permitted

news/2024/10/11 2:30:03

在docker内部使用gdb调试时刻遇到了gdb如下报错信息:

warning: Error disabling address space randomization: Operation not permitted

原因

地址随机化是linux一项安全特性,它允许内核进程启动每次加载库的时候都在随机化的分布在进程虚拟内存地址空间上(早期固定的库要加载到固定地方,如果固定地方被占用才加载到别地方。会造成多次加载程序,其库地址都不变。如此有安全隐患)。在gdb调试中gdb默认需要关闭linux的地址随机化功能,可以通过gdb 命令set disable-randomization off关闭。如果在地址随机化下调试同一段程序,多次run时候可以看到它的运行地址和函数地址不一致。

解决方案

回到宿主机,cd /var/lib/docker/containers/,如果这一步需要权限,且使用sudo报错,解决方案参照sudo cd 找不到命令

sudo: cd:找不到命令
sudo: “cd”是 shell 内置命令,它无法直接运行。
sudo: -s 选项必须在特权 shell 中使用。
sudo: the -D option may be used to run a command in a specific directory.

进入正确的容器ID文件夹,
先systemctl stop docker
然后vim hostconfig.json
把“Privileged”:false改成true,保存退出。
再systemctl start docker
重启docker容器。搞定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Bash脚本语法解析(典例精讲)

参考资料:https://github.com/AUTOMATIC1111/stable-diffusion-webuihttps://razeen.me/posts/the-ultimate-programmers-guide-to-bash-scripting/众所周知.sh文件是Linux系统中的脚本文件。(与之相对的还有windows系统上对应cmd的bat文件,对应powershell的ps1文件?)因此…

csapp-bomblab(自信满满版)

反汇编bomb文件 要查看机器代码文件的内容,有一类称为反汇编器(disassembler,assembler是汇编程序,dis-加在某些词语前表示相反的意思)的程序非常有用。这些程序根据机器代码产生一种类似于汇编代码的格式。在linux系统中,带‘-d’命令行标志的程序OBJDUMP(表示“object…

Windows系统,在Pycharm里面(python3.9)下载dlib的依赖包的具体步骤

原文作者:传送门 1、进入网址 轮子地址 然后选择这个下载:2、保存到自己的项目里面,然后使用pip的命令下载pip命令如下: pip install dlib-19.23.0-cp39-cp39-win_amd64.whl使用pip list的命令查看已经下载的包: dlib依赖包下载完成!

Python进阶篇笔记

一、面向对象 1、面向过程与面向对象面向过程:把程序流程化 面向对象:把程序抽象成类,类与类之间有联系2、类与对象 对象就是容器,是用来存放数据和功能的,对象就是数据和功能的集合 类的作用是吧对象做区分和归类,以及解决不同对象存相同数据的问题。类也是容器,也是用…

团队作业3—需求改进系统设计

这个作业属于哪个课程 软件工程这个作业要求在哪里 团队作业3—需求改进&系统设计这个作业的目标 1、需求&&原型改进 2、系统设计 3、Alpha任务分配计划 4、测试计划其他参考文献 架构设计、Scrum/Sprint、测试的计划和执行这个作业所属团队 SuperNewCode团队成员 …

扫描线

题目链接 https://leetcode.cn/problems/rectangle-area-ii/ 题目大意题目思路选取连续的x值:(left,right),在这个区间内,沿着x轴的方向扫描,求出所有符合条件的(y1,y2) 算出扫描区间的h,结合 w * h,算出面积! 礼貌拿图,多谢三叶姐(https://leetcode.cn/problems/recta…