问题标签 [ddd-debugger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
429 浏览

python - 如何使用 cygdb 调试 cython?

如果按照Cython 调试文档中的指定使用 python2.7 配置它,则在从源代码构建 gdb 之后,可以使用 gdb 调试 Python3/Cython 项目。

但是,文档中的示例:

  1. 有时是模糊的(例如,代码应该用 python3 构建,调试器用 python2 运行,但我发现python-gdb实际上是链接到python2......那么它是如何工作的?)
  2. 不完整(一些步骤包含在代码块中,其他步骤在文本中模糊地提及)
  3. 不一致(例如同时引用source.pyxmyfile.pyx

此外,它:

  1. 不考虑使用虚拟环境
  2. 似乎假设该main函数位于 .pyx 中(但我的位于常规中main.py
  3. 没有指定当您的文件位于不同目录中时要执行的操作(例如,像 mymain.pycythonCode.pyxdo)

有人可以解释一下(最好是工作示例)如何在涉及刚才提到的所有 3 点的情况下调试 Python3/Cython 项目?

目前看来,我实际上可以在这篇Cython wiki 文章之后让 DDD 工作,但后来我发现这是“旧”的做法,它指的是我也链接到的当前调试文档。然而,在这一点上,我还不清楚“新”方法是如何运作的(旧的对我来说更有意义),而且让它工作起来似乎更复杂。

0 投票
1 回答
63 浏览

c - 在 DDD 中看不到源代码。怎么解决?

我正在使用 UBUNTU 16.04 符合 gcc -g 我试图寻找答案但找不到。

0 投票
1 回答
153 浏览

gdb - 使用 avr-gdb 和 ddd 在 avr 上进行 jtag 调试

我尝试在 AVR 8 位微控制器上使用 jtag 进行调试。

贪婪--jtag /dev/ttyUSB0 :4444

ddd lcd --debugger avr-gdb

在会议中我这样做:

目标远程本地主机:4444

打破主要

现在目标停止并且 pc 是正确的:

但是如果我查看汇编代码窗口,我的偏移量为 0x800000 并且内容错误:

在本机 avr-gdb 中,layoit asm一切看起来都很好。

知道如何从与 avr-gdb 相关的 DDD 中的程序集窗口获取正确的输出吗?

0 投票
1 回答
310 浏览

python - python调试器pdb在键入时不显示命令(仅显示点代替字符)

我在 google colab https://colab.research.google.com/中使用 pdb 调试器。

我可以使用 pdb.set_trace() 在一行设置断点,但是当调试器停在那里并且我输入下一个命令时,它会隐藏命令中输入的字符。

如下所示,在命令执行之前,“*********”出现在“pdb”命令行中,而不是“p输入”中:

在此处输入图像描述

如何解决这个问题?

为什么 pdb 在运行之前不显示命令中的字符?

0 投票
1 回答
392 浏览

python - 如何启动从 Python 调用的 C++ 的 GDB?

我需要调试从 Python 代码调用的 C++ 函数。

如何以调试从给定 Python 命令行调用的 C++ 代码的方式启动 GDB(或更好的 DDD)?

给定的 Python 命令行是:

它调用了我需要调试的 C++ 代码。

0 投票
1 回答
44 浏览

gdb - 在使用 ddd(显示调试器)时,如何在导航后返回到源代码行中停止执行的位置?

我使用 ddd(显示调试器)作为 GUI,使用 gdb 作为内部调试器。
我想我知道这一点,但我不记得我是怎么做到的。
在断点处,有时我会“向上”并滚动源窗口。然后我想回到我原来的位置。(要执行的下一行,有执行标记。)
我该怎么做?(当然,如果我做'next',我可以去那里,但我想去那里而不执行下一行)。

0 投票
0 回答
605 浏览

gdb - 如何为 libc 安装调试信息?

添加:此链接(https://stackoverflow.com/a/48287761/2554472)有我问题的答案(Mark Plotnick 的答案)。不同的标题,重复的答案。

我正在使用 ddd(与 gdb)来分析程序(qemu)。
在 main() 开始之前,有一些代码使用 glibc 中的函数运行。
例如,我想看看 libc_csu_init 在做什么(可能正在初始化静态变量..)。
但由于我的 qemu 程序链接到 libc 的发布版本,我看不到 libc 代码。
如何安装 libc 的调试信息并在调试期间查看源代码?我是否必须安装调试版本 libc 并使用它编译 qemu?或者我可以只安装调试版本 libc 并在运行 dbg 时查看 libc 源吗?
顺便说一句,如果我这样做ldd qemu-system-aarch64,我可以在下面看到一行。

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2feafb3000)

这意味着它是针对 glibc 编译的,因为 libc 在 x86_64-linux-gnu 目录下,不是吗?如果我错了,请纠正我。

0 投票
0 回答
96 浏览

linux - 在 qemu 虚拟机上运行 linux 时如何调试或分析 qemu 代码?

我可以像这样在虚拟机(此处为 ab21q)上运行 ubuntu 20.04。磁盘上drive0已经安装了 ubuntu (ab21q-ubuntu-20.04-image.img)。

我必须在 ubuntu 上调试应用程序和驱动程序,为此我想通过在 qemu 代码中设置断点来检查传递的数据来查看 qemu 代码。如果我要在虚拟机上调试“应用程序”,我曾经使用“-s -S”选项运行 qemu,并使用虚拟机的调试器为 elf 文件运行 gdb。但是这次我想调试qemu。我试着跑步

但调试器窗口显示 linux 启动消息并提示我输入用户名和密码。我输入登录 ID 后花了很长时间,所以我退出了这个过程。(即使我进入了 ubuntu,我也可以将 linux shell 用作 gdb shell 吗?)我想要做的是像我一样运行程序,然后将带有 qemu-system-aarch64 可执行映像的调试器附加到正在运行的进程。我试过ddd qemu-system-aarch64 pid了,但这要求我从一开始就启动 qemu-system-aarch64,而不是使用 pid 附加到进程。我该怎么做?

0 投票
0 回答
30 浏览

c - 从 DDD 中的指针显示数组

我想以图形方式查看数组中的其他元素。每个元素都是一个列表(指向该列表的第一个元素的指针),它们都应该为 NULL,因为我想为数组释放内存。

有没有办法让我从指针中看到这个数组中的所有元素(而不仅仅是第一个元素)?或者,如果您知道任何其他可以像 DDD 一样可视化数据的图形调试器,请告诉我。谢谢。

数组指针是“adjacency_lists”,该数组的第一个元素是一个结构体,其中“first”作为指向列表的指针。

DDD 我的数据