美文网首页软件
在docker中使用gdb调试程序

在docker中使用gdb调试程序

作者: menglj | 来源:发表于2015-09-29 11:34 被阅读1715次

在docker的容器中,不能使用gdb调试程序。经过调查发现是原因是ptrace: Operation not permitted.
上网查找发现是ubuntu的安全设置问题,运行如下命令可以解决:

sudo su -
echo 0 /proc/sys/kernel/yama/ptrace_scope

但仍然提示ptrace: Operation not permitted.
再次查找docker ptrace: Operation not permitted.,发现了docker的一个issues,原因是apparmor的docker profile中限制了ptrace。
通过改变docker profile的状态,可以让gdb正常运行了。

sudo apt-get install apparmor-utils
aa-complain /etc/apparmor.d/docker

参考文档

相关文章

  • 在docker中使用gdb调试程序

    在docker的容器中,不能使用gdb调试程序。经过调查发现是原因是ptrace: Operation not p...

  • 使用gdb调试程序

    工作中接手一个工程,使用cmake写的脚本来进行编译。因为工程比较大,所以迁移到其他ide支持的编译方式的情...

  • 一、调试-使用gdb调试linuxC程序

    gdb是linux操作系统特有的调试工具,可以完成一般IDE提供的所有调试功能。使用gdb调试程序之前,必须使用g...

  • GDB学习笔记

    本文介绍使用gdb调试程序的常用命令。 简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果...

  • GDB使用指南

    gdb是linux下的一款动态调试工具,以下是使用gdb调试程序常用到的命令,我尽量以图文的方式进行讲解,希望对初...

  • macOS安装gdb

    今天在mac上想用gdb调试程序时,才发现macOS没有自带gdb, 需要自行安装。安装过程记录如下。主要参考ht...

  • Mac上使用 gdb 调试程序

    最新版本的 Mac 默认只能使用 lldb 进行程序调试,但对于习惯使用 gdb的人来说还是希望在Mac下使用gd...

  • gdb使用symbol文件调试程序

    今天发现项目里的Makefile在debug和release版本之间有两行不一样的地方: 在这两行之前都是调用子目...

  • 开发工具·GDB使用笔记

    =============GDB调试程序===========1.调试代码初级方法加打印语句:在关键语句的前后,打...

  • 如何在Docker内部使用gdb调试器

    背景 前几天一个小伙伴发邮件问我,他在docker内部使用gdb调试时刻遇到了gdb如下报错信息ptrace:Op...

网友评论

    本文标题:在docker中使用gdb调试程序

    本文链接:https://www.haomeiwen.com/subject/kiwwcttx.html