这个问题很可能有答案,但很难用谷歌搜索。 您可以通过将命令写入 python 来向 gdb 添加命令。我有兴趣调试在 gdb session 中运行的那些 python 脚本之一。 我最好的猜测是在 gdb 上运行 gdb 并执行用户添加的命令,然后以某种方式神奇地中断 python 程序代码? ...
这个问题很可能有答案,但很难用谷歌搜索。 您可以通过将命令写入 python 来向 gdb 添加命令。我有兴趣调试在 gdb session 中运行的那些 python 脚本之一。 我最好的猜测是在 gdb 上运行 gdb 并执行用户添加的命令,然后以某种方式神奇地中断 python 程序代码? ...
我想漂亮地打印这个 struct struct MyStruct { char buffer[16]; } struct MyStruct { char buffer[16]; } 。 根据缓冲区 [15] 我想将缓冲区打印为 10 字节字符串或将其视为指针。 10 字节的情况很简单,并且可以 ...
我正在python中编写GDB脚本来打印应用程序的一些调试信息。 问题是支持多种架构:x86、alpha、aarch64,可能还有更多。 打印调试信息的 function 因架构而异。 所以实际上我有以下功能: 我想实现以下目标: 有没有办法做到这一点? 有一个 GDB 命令show archit ...
I have a Python program that is feeding json input to a binary running in GDB which then reads that input using the C function fread(). 问题是 fread() ...
我有一些由第三方特定于域的工具生成的复杂类。 这些类很复杂,因为该工具试图尽可能地通用,所以我被要求设计一个 GDB 漂亮的打印机 python 脚本来改善调试体验。 我通过“to_string”API 设计了它,它可以用有组织的富文本(例如颜色)打印信息,到目前为止一切正常。 但是,我不知道如 ...
在 gdb 的Values From Inferior 文档中,有第二个构造函数用于在 python 中创建对象。 它指出: Function: Value.__init__ (val, type) This second form of the gdb.Value constructor r ...
我正在为 gdb 在 python 中编写一个漂亮的打印机,并且正在慢慢掌握这种方法。 试图找到有关该系统如何工作的实际文档以及这些方法的预期结果示例,就像拔牙一样。 我在这里和那里找到了一些零碎的东西,但没有什么是包罗万象的。 我发现的一些信息是通过反复试验得到的,这进展缓慢。 到目前为止,看起 ...
我正在尝试找到一种方法,从 GDB 中的 python api 获取 c++ class object 的成员列表。 到目前为止,我能找到的唯一解决方案是使用ptype <value>然后尝试为成员解析它,我想知道是否有更好的方法我还没有找到. ...
假设我有以下 C++: 是否可以在label1上为 bar 的所有实例设置 gdb 断点? 在上面,这很容易——只有一个实例化。 在我的实际用例中,有大量分布在代码库中。 换句话说,在我的 gdb 命令文件中,有没有办法避免需要先验地了解 bar 的每个模板实例化? 在我的实际用例中,我的目标是在标 ...
我试图将手表设置为地址 (gdb) watch 0x7536546但出现错误警告:无法插入硬件观察点 6。无法插入硬件断点:您可能请求了太多硬件断点/观察点我尝试插入的第一个硬件断点有什么问题,我该怎么办? ...
(gdb) source script.py加载脚本文件到 GDB 如何卸载该脚本? 如何卸载所有加载的脚本或查看所有加载的脚本? ...
当我想将 python 运行到 gdb 中时,我使用source /tmp/gdb/tmp/parser.py 我可以设置一个别名,所以下次我想调用这个脚本时,我只使用parser.py或parser (不将脚本设置到工作目录如何将 args 传递给脚本? source /tmp/gdb/tmp/ ...
我的生产代码中有很多协程,在处理请求时卡在未知的 position 处。 我将 gdb 与Python 支持扩展附加到进程,但它没有显示协程中进程卡住的确切行,仅显示主堆栈跟踪。 这是一个最小的例子: GDB 显示在第 7 行结束的跟踪,但代码显然卡在第 4 行。如何使用嵌套协程使其显示更完整的 ...
假设我创建了一个 gdb 用户定义命令,如下所示: 其中foo_printer接受一个指针参数。 然后,如果我有一个指针变量pf我可以这样做: 但是如果我有一个非指针变量f ,我需要记住提供& : 有没有办法定义命令以使用指针或非指针参数? 即,所以这两个都可以工作: ...
我正在尝试从源代码构建最新的 gdb 10.1。 [我想要这样做的原因是我正在尝试调试一个链接到 Python 2.7.18 自定义构建的程序,并且我的系统 gdb 链接到我的 /lib64 目录中的 Python 2.7.5 构建,并且不适用于较新版本]。 通读自述文件后,我已使用以下方法进 ...
我正在使用 Jdebug 系统调用使用 python 并尝试自动执行“bt”命令的过程,如下所示。 它由两个步骤组成。 收到回复: 如上所示 (gdb) 提示出现,现在我需要传递“bt”命令并从 gdb 提示中读回响应。 不确定如何通过 python 或 shell 脚本发送“bt”命令并读回响应。 ...
我是 gdb python api 的新手。 但我不确定如何在调试 session 期间获取特定变量的值 ...
我正在尝试使用gdb调试包含用 C++ 编写的模块的程序。 我使用自制软件下载了最新版本的gdb 。 我尝试运行以下命令: 但是,我收到以下错误: 然后我尝试使用如下的“file”和“exec-file”命令(输出也包括在内): 如何使用gdb运行Pyrh_test.py ? ...
我正在使用 Pintool 运行的程序上运行 Python gdb 脚本。 具体来说,我使用了-appdebug_enable开关并在 Pintool 中创建了一个语义断点,该断点自动触发断点并运行我提供的 Python 脚本。 该脚本主要检查局部和全局变量,并扫描程序动态分配的 memory。 我 ...
我需要调试从 Python 代码调用的 C++ function。 如何以调试从给定 Python 命令行调用的 C++ 代码的方式启动 GDB(或更好的 DDD)? 给定的 Python 命令行是: 它调用了我需要调试的 C++ 代码。 ...