问题标签 [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.
python - 如何使用 cygdb 调试 cython?
如果按照Cython 调试文档中的指定使用 python2.7 配置它,则在从源代码构建 gdb 之后,可以使用 gdb 调试 Python3/Cython 项目。
但是,文档中的示例:
- 有时是模糊的(例如,代码应该用 python3 构建,调试器用 python2 运行,但我发现
python-gdb
实际上是链接到python2
......那么它是如何工作的?) - 不完整(一些步骤包含在代码块中,其他步骤在文本中模糊地提及)
- 不一致(例如同时引用
source.pyx
和myfile.pyx
)
此外,它:
- 不考虑使用虚拟环境
- 似乎假设该
main
函数位于 .pyx 中(但我的位于常规中main.py
) - 没有指定当您的文件位于不同目录中时要执行的操作(例如,像 my
main.py
和cythonCode.pyx
do)
有人可以解释一下(最好是工作示例)如何在涉及刚才提到的所有 3 点的情况下调试 Python3/Cython 项目?
目前看来,我实际上可以在这篇Cython wiki 文章之后让 DDD 工作,但后来我发现这是“旧”的做法,它指的是我也链接到的当前调试文档。然而,在这一点上,我还不清楚“新”方法是如何运作的(旧的对我来说更有意义),而且让它工作起来似乎更复杂。
c - 在 DDD 中看不到源代码。怎么解决?
我正在使用 UBUNTU 16.04 符合 gcc -g 我试图寻找答案但找不到。
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 中的程序集窗口获取正确的输出吗?
python - python调试器pdb在键入时不显示命令(仅显示点代替字符)
我在 google colab https://colab.research.google.com/中使用 pdb 调试器。
我可以使用 pdb.set_trace() 在一行设置断点,但是当调试器停在那里并且我输入下一个命令时,它会隐藏命令中输入的字符。
如下所示,在命令执行之前,“*********”出现在“pdb”命令行中,而不是“p输入”中:
如何解决这个问题?
为什么 pdb 在运行之前不显示命令中的字符?
python - 如何启动从 Python 调用的 C++ 的 GDB?
我需要调试从 Python 代码调用的 C++ 函数。
如何以调试从给定 Python 命令行调用的 C++ 代码的方式启动 GDB(或更好的 DDD)?
给定的 Python 命令行是:
它调用了我需要调试的 C++ 代码。
gdb - 在使用 ddd(显示调试器)时,如何在导航后返回到源代码行中停止执行的位置?
我使用 ddd(显示调试器)作为 GUI,使用 gdb 作为内部调试器。
我想我知道这一点,但我不记得我是怎么做到的。
在断点处,有时我会“向上”并滚动源窗口。然后我想回到我原来的位置。(要执行的下一行,有执行标记。)
我该怎么做?(当然,如果我做'next',我可以去那里,但我想去那里而不执行下一行)。
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 目录下,不是吗?如果我错了,请纠正我。
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 附加到进程。我该怎么做?