是否可以在ddd下使用riscv gdb?

是否可以在ddd下使用riscv gdb?,gdb,riscv,Gdb,Riscv,到目前为止,我已经在命令行中提供了riscv gcc/riscv gdb,以及用于gui的标准ddd 当我尝试按照ddd的手册使用--debugger选项时,如下所示: ddd—调试器riscv32未知elf gdb ddd可以显示在窗口中,但在左下角显示“正在打开会话‘blabla’” ddd似乎没有反应 所以我想问一下 是否可以将ddd用于riscv dbg 如果是的话,怎么办 有成功的解决方案吗 谢谢。 /Patrick我想说,它应该可以工作,但这在您的操作系统/DDD的特定组合上可能不起

到目前为止,我已经在命令行中提供了riscv gcc/riscv gdb,以及用于gui的标准ddd

当我尝试按照ddd的手册使用--debugger选项时,如下所示:

ddd—调试器riscv32未知elf gdb

ddd可以显示在窗口中,但在左下角显示“正在打开会话‘blabla’”

ddd似乎没有反应

所以我想问一下

是否可以将ddd用于riscv dbg

如果是的话,怎么办

有成功的解决方案吗

谢谢。
/Patrick

我想说,它应该可以工作,但这在您的操作系统/DDD的特定组合上可能不起作用-它在我使用ubuntu 18.04.02 x86_64、DDD 3.3.12和riscv64工具链/GDB时起作用-因为DDD是GUI前端,针对riscv32或riscv64应该无关紧要

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04

sudo apt-get install ddd
ddd --version
GNU DDD 3.3.12 (x86_64-pc-linux-gnu)                                                                                                                                                                                                          
Copyright (C) 1995-1999 Technische Universit�t Braunschweig, Germany.                                                                                                                                                                         
Copyright (C) 1999-2001 Universit�t Passau, Germany.                                                                                                                                                                                          
Copyright (C) 2001 Universit�t des Saarlandes, Germany.                                                                                                                                                                                       
Copyright (C) 2001-2009 Free Software Foundation, Inc.
我使用了答案中提供的示例代码,以及qemu

正在启动ddd-此处假设riscv64未知elf gdb在您的路径中:

ddd --debugger riscv64-unknown-elf-gdb

打开可执行文件(在我的例子中是add.elf):文件/打开程序

在包含
(gdb)
提示的ddd窗口中连接到目标:
目标远程本地主机:1234


我希望这将有助于确定您的问题所在。

非常感谢您的评论!我正在使用Ubuntu 16和最新的DDD(默认安装了一个,我想它是最新的)。好的,我会尽力解决这个问题。我看到你评论了很多与房车相关的问题。这对我们帮助很大。非常感谢。如果有任何问题,我将再次返回。顺便说一句,rv dbg是一个特定的版本,因为我们只在硬件中实现了rv32im,所以我们使用github/riscv工具链,并仅使用rv32im支持构建所有子模块。但所有其他选择都没有遭到黑客攻击。也许DDD版本在这种情况下很重要,让我检查一下……BTWx2,我们在硬件中添加了一些定制的操作码,还将它们添加到RV-GCC(固有asm)中,我不确定这是否也会自动更改RV dbg。由于新添加的操作码在新的注册表文件上工作,如果rv dbg也受到影响,则rv dbg中这些操作码的行为不应该是正确的(我们没有专门针对rv dbg更新任何内容)。这里还有一个问题在这种情况下可能很重要。@Patrick您可以使用Ununtu 16.04上提供的x86_64 GDB测试您的DDD:这可能会告诉您它是否正常工作。@Patrick DDD的最新版本是3.3.12-只需在您的系统上运行DDD--版本。