如何从 gdb 命令提示符执行外部命令?

2024-04-21

我正在使用 gdb 调试程序。每当我错过断点或决定添加另一个观察点时,我必须终止该进程并重新运行它。为了将现有的 gdb 附加到它,我使用attach <pid>。但是,我必须找出新进程的pid。

我今天这样做的方法是暂停 gdb,获取 pidps -C <program_name>然后返回 gdb 附加到它。

有没有办法从 gdb 命令提示符运行 unix 命令而不退出 shell,这样我就可以从 gdb 内部执行类似的操作:

attach `ps -C <program_name>`

我正在Linux上工作。


(gdb) 帮助外壳
执行其余部分 该行作为 shell 命令。没有 争论,运行一个劣质的 shell。

完成后,可以使用“exit”返回gdb。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 gdb 命令提示符执行外部命令? 的相关文章

  • 如何设置gdb的默认选项?

    我每次打开 GDB 时都会设置几个选项 例如 set print thread events off 有没有办法默认设置这些选项 也许类似于 gdb rc 文件 初始化文件为gdb叫做 gdbinit 您可以将所需的选项放入此文件中 它们将
  • 复制的 std::list 中的垃圾

    我的图形类看起来像 class Graph public typedef unsigned int size type typedef std list
  • debug:获取对象的所有实例变量的列表(未知类型)

    有没有任何方法可以获取 通过调试 Objective c 中未知对象的所有实例变量的列表 我使用 lldb 进行调试 但我承认我不太了解它 显然我无法查看这个未知对象的标头 我需要在调试时执行此操作 但如果不可能 我可以在运行时使用替代方法
  • 如何在 gdb 中使用 python 访问寄存器

    如何访问当前调试实例的cpu寄存器 例如 您可以从 gdb 调用printf 0x x eax and set eax b eax还有一种方法可以通过 gdb 提供的 python 支持来做到这一点吗 或者我应该创建一个可以像这样调用的 p
  • 如何在Windows上构建GDB

    如何在 Windows 上从源代码构建 GDB GNU 调试器 我需要构建它才能使用 Python 支持进行构建 我无法使用随 Cygwin 一起发布的版本 因为它在 Windows 上解释反斜杠时出现问题 构建需要哪些工具链 GnuWin
  • 如何在 Xcode 4 中从断点操作打印字符串值?

    我有一个断点操作 并且正在使用下拉列表中的 日志 选项 我想打印出字符串 摘要 值 我正在这样做 the person name is p name 但这会打印内存地址 我可以切换到调试器命令选项并执行以下操作 po f name 但后来我
  • windows下无法使用mingw/gdb在eclipse helios cdt上调试小程序,控制台冻结

    我一直在尝试使用 Eclipse CDT 来做一些 C 示例 我可以使用 run 命令很好地运行它们 但是每当我尝试调试时 控制台窗口就会冻结 我可以输入 但程序不运行不继续了 当我调试时 我在控制台窗口上得到以下输出 没有断点 但由于默认
  • cygdb ImportError:没有名为“Cython”的模块

    我想调试我的 Cython 代码并按照描述的确切步骤进行操作here http docs cython org src userguide debugging html 我的 Cython 代码编译 cython gdb xxx pyx进而
  • 使用 gdb 在指定的可执行文件之外单步执行汇编代码会导致错误“无法找到当前函数的边界”

    我在 gdb 的目标可执行文件之外 甚至没有与该目标对应的堆栈 无论如何 我想单步执行 以便我可以验证汇编代码中发生了什么 因为我不是 x86 汇编方面的专家 不幸的是 gdb 拒绝进行这种简单的汇编级调试 它允许我设置并停止在适当的断点上
  • 如何在 gdb 中打印长字符串的完整值?

    我想在 GDB 中打印 C 字符串的完整长度 默认情况下它是缩写的 如何强制 GDB 打印整个字符串 set print elements 0 来自GDB手册 https sourceware org gdb onlinedocs gdb
  • Google crashpad 上的一个交叉编译平台应用程序。 Ubuntu 中无法读取 dmp 文件

    我有一个小qt项目 https github com apalomer qt crashpad test我想跟踪一个分段错误 这是一个示例 分段错误是出于测试目的而手动添加的 在实际项目中我不知道留在那里的分段错误 我决定使用 google
  • 如何让 gdb 保存命令历史记录?

    我该如何设置gdb这样它就可以保存命令历史记录 当开始新的gdb会话 我想使用向上箭头键来访问之前会话的命令 简短回答 mkdir p config gdb echo set history save on gt gt config gdb
  • 如何在 gdb 上进行 grep 打印

    有没有办法在 gdb 中 grep 打印命令的输出 就我而言 我正在使用 gdb 调试核心转储 并且我正在调试的对象包含大量元素 我发现很难寻找匹配的属性 即 gdb print this grep
  • 使用 gdb 调试时彻底退出 valgrind

    我正在使用 valgrind 和 gdb 调试程序 然而 我以一种野蛮的方式终止了这些调试会话 这真的是它应该做的吗 设置调试会话 按照来自的指示valgrind 官方网站 http valgrind org docs manual man
  • dprintf 与 break + 命令 + continue 之间有什么区别?

    例如 dprintf main hello n run 生成与以下内容相同的输出 break main commands silent printf hello n continue end run 使用是否有显着的优势dprintf ov
  • 专门逐行调试

    我有一个用 Pascal 编写的脚本 我会以这种方式调试它 在每一行停止 转储内存中所有变量的值 然后转到下一行 是否可以使用 gdb 或其他 Linux 开源工具来完成此操作 使用选项编译文件 g fpc gpc g file pas R
  • gdb 通过指向错误的代码行显示不正确的回溯

    我们可以通过在源代码中包含多个中止调用 用非常简单的示例重现此问题 在下面的示例代码中 我们在不同条件下总共有四个中止调用 但是当我们使用优化标志 O3 进行编译时 我们只能看到一个中止调用的调试信息 因此 在这四个中止调用中发生崩溃时 g
  • 哪个信号被传递到信号处理程序中死锁的进程

    我有一个来自调用信号处理程序后死锁的进程的核心转储 如何确定传送了哪个信号以及是谁发送的 GDB 为接收信号的线程生成的回溯如下 信号处理程序在第 15 帧中被调用 gdb bt 0 0x00007fa9c204654b in sys fu
  • “劣质调试器”一词中的“劣质”是什么意思?

    我不太明白GDB手册中对inferior的解释 谷歌也没有提供任何更有帮助的信息 谁能简单地解释一下 低等 劣质 是一个通用术语 表示 您正在使用 gdb 来调试的东西 通常是在模拟器或通过串行线路连接的其他硬件上运行的进程或内核 当您使用
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu

随机推荐

  • Selenium 服务器错误:无法获取浏览器

    我在 Windows 7 上运行 Selenium Standalone Server 2 25 并使用 Internet Explorer 9 作为浏览器 对于每个需要打开浏览器的测试 我都会收到此错误 Selenium WebDrive
  • 在复合组件的属性中使用EL

    我的 JSF 自定义组件代码
  • 在 Jest .toMatchObject 中包含 toBeCloseTo

    我正在测试一个对象是否与一组字段匹配 但其中一个是浮点 我需要使用 toBeClearTo https jestjs io docs en next expect tobeclosetonumber numdigits 怎么可能在一段时间之
  • r 中不包括 NA 的列长度

    假设我有一个data frame如下 a b c 1 5 NA 6 2 NA NA 7 3 6 5 8 我想找到每列的长度 不包括 NA 答案应该是这样的 a b c 2 1 3 到目前为止 我已经尝试过 is na Gives TRUE
  • Excel公式从日期中减去天数

    Excel中有没有办法让公式执行如下操作 12 20 2010 180 这需要特定日期 本例中为 12 20 2010 并减去 180 天 假设原始日期位于单元格 A1 中 DATE YEAR A1 MONTH A1 DAY A1 180
  • 为什么 jquery 脚本不工作?

    为什么 jQuery 脚本可以在我的 jsfiddle 中运行 但不能在我的页面中运行 我所做的 尝试了不同版本的 JQuery 制作了脚本 所以我有这个测试页面 头部部分
  • 如何使用 Xcode 5 本地化我的应用程序?

    这是关于的后续问题 和答案 如何使用 Xcode 4 本地化我的应用程序 https stackoverflow com questions 5349066 how to localize my app with xcode 4 11282
  • Angular 2:实现自定义上下文菜单

    我正在实现 Angular 2 属性指令 以允许我向元素添加自定义上下文菜单 如下所示 p Hello world p 该指令添加了一个鼠标事件处理程序来捕获右键单击 其想法是构建一个上下文菜单 将其添加到 DOM 然后在用户完成操作时销毁
  • Clojure gen-class 返回自己的类

    我现在正在使用 Clojure 创建一个类对象 它有一个返回对象本身的方法 用Java编写的 我想要制作的对象是这样的 class Point public double x public double y public Point dou
  • 静态与非静态方法

    假设您有一些可以在非静态类中设为静态的方法 例如 private double power double a double b return Math Pow a b 您认为将方法签名更改为静态有什么好处吗 在上面的例子中 private
  • docker-compose 相当于 docker run --init 吗?

    根据https github com krallin tini using tini https github com krallin tini using tini tini内置于docker中 可以通过传递 init标记为docker
  • docker 容器中 PostgreSQL 的权限问题

    我正在尝试使用 PostgreSQL 运行一个 docker 映像 该映像配置了一个用于持久数据的卷 docker compose yml version 3 1 services db image postgres restart alw
  • 启动 StepFunction 并退出不会触发执行

    我有 Lambda 函数tranportKickoff它接收输入 然后将输入发送 代理到阶跃函数 下面的代码does运行 我没有收到任何错误 但同时步骤函数没有执行 对于设计也很重要 我不希望transportKickoff函数等待步骤函数
  • Mongoose Population: CastError: 路径“_id”处的值“[object Object]”转换为 ObjectId 失败

    遇到一个CastError在 Mongoose 中填充嵌套 ObjectId 引用时 值 显然是valid 只要它们在保存到架构时不会被阻止 有兴趣在服务器端解决此问题以防止将来出现格式错误的数据 但是 我知道不从客户端保存这些值是一个好主
  • java 是否存在只有键没有值的哈希结构?

    我正在寻找一种无需值即可对键进行哈希处理的结构 查询时 如果找到密钥 则应返回 true 否则返回 false 我正在寻找类似的东西Hashtable
  • 获取符合条件的组合

    问题 我有一个表 我需要在其中提取行 或列 如果我转置表 的所有有效组合 列中只有值 或 并且当组合中的至少一行中有 时 组合被认为是有效的 也就是说 所有行中带有 的任何组合都是无效的 示例表 Guns P 01 P 02 P 03 P
  • React 路由器匹配失败

    使用有什么好处Match and Miss组件来自react router over Router成分 我似乎找不到任何关于此的文档反应路由器文档 https github com ReactTraining react router tr
  • R外部接口

    我想实现一些用 C 代码编写的 R 包 C 代码必须 将数组 任何类型 作为输入 生成数组作为输出 大小不可预测 实现数组传递的最佳实践是什么 目前 C 代码被调用 C 它通过指针直接从 R 访问数组 不幸的是 无法对输出执行相同的操作 因
  • 如何检查java方法的字节码长度

    目前 我参与了一个大型遗留项目 其中包含许多巨大的类和生成的代码 我希望找到所有字节码长度大于 8000 字节的方法 因为 OOTB java 不会优化它 我发现这样的手动方式 Java 中的特定方法有多少字节的字节码 https stac
  • 如何从 gdb 命令提示符执行外部命令?

    我正在使用 gdb 调试程序 每当我错过断点或决定添加另一个观察点时 我必须终止该进程并重新运行它 为了将现有的 gdb 附加到它 我使用attach