在RISCV中使用Gdb进行调试(峰值:无法识别的选项--Gdb端口)

在RISCV中使用Gdb进行调试(峰值:无法识别的选项--Gdb端口),gdb,riscv,Gdb,Riscv,在构建RISCV工具和GCC(克隆和)之后,我陷入了Gdb调试阶段 在第二个终端中,远程输入gdb超时 在第一个终端中,当我运行spike--gdb端口9824 pk tests/debug或spike--gdb端口9824 pk hello.c时,它产生: spike: unrecognized option --gdb-port usage: spike [host options] <target program> [target options] Host Options:

在构建RISCV工具和GCC(克隆和)之后,我陷入了Gdb调试阶段

在第二个终端中,远程输入
gdb
超时

在第一个终端中,当我运行
spike--gdb端口9824 pk tests/debug
spike--gdb端口9824 pk hello.c
时,它产生:

spike: unrecognized option --gdb-port
usage: spike [host options] <target program> [target options]
Host Options:
  -p <n>             Simulate <n> processors
  -m <n>             Provide <n> MB of target memory
  -d                 Interactive debug mode
  -g                 Track histogram of PCs
  -h                 Print this help message
  --ic=<S>:<W>:<B>   Instantiate a cache model with S sets,
  --dc=<S>:<W>:<B>     W ways, and B-byte blocks (with S and
  --l2=<S>:<W>:<B>     B both powers of 2).
  --extension=<name> Specify RoCC Extension
  --extlib=<name>    Shared library to load
spike:无法识别的选项--gdb端口
用法:spike[主机选项][目标选项]
主机选项:
-p模拟处理器
-m提供MB的目标内存
-交互式调试模式
-PCs的g轨迹直方图
-h打印此帮助消息
--ic=::用S集实例化缓存模型,
--dc=::W路和B字节块(带S和
--l2=::B 2的两个幂)。
--扩展=指定RoCC扩展
--extlib=要加载的共享库
我不知道这是否与单独配置
gdb
有关?或者它是在我为riscv工具运行
/build.sh
时构建和配置的

如果没有,请您更正
--gdb-port
命令(我是linux新手)我尝试过
--gdb-port=9824
--gdb-port:9824
,结果是一样的


谢谢

消息
spike:unrecognized option--gdb port
表示
spike
,而不是
gdb
无法识别选项。Spike来自riscv isa sim,而非riscv工具。Spike的LowRisc变体-在master之后有许多提交:

该分支前面有3次提交,后面有172次提交,riscv:master。 最新提交e220bc4于2016年5月19日@wsong83 wsong83将提交“0d084d5”合并到更新中

其中一个not ported commit为spike from添加了gdb支持(并在中记录),但它没有被拉入(也没有在中记录)。与gdb相关的提交从2016年10月、2016年6月和2016年5月开始,在d1d8863086c57f04236418f21ef8a7fbfc184b0b中添加了--gdb端口(2016年3月19日)

+fprintf(stderr,“--gdb port=监听gdb连接\n”);
+选项(0,“gdb端口”,1,[&](const char*s){gdb_port=atoi(s);});

您可以在isa sim之间切换,也可以让lowRisc作者合并,或者只尝试使用spike…

您好,我尝试删除riscv isa sim目录并替换为当前目录,重建了所有内容,但仍然不起作用。@ninode,当前目录从何处开始?用钉子,对。我确实用过那个。愚蠢的问题:我真的应该单独配置所有目录吗?或者只是运行./build-in-riscv工具?是吗?@ninode,不知道./build。您是否有与riscv/riscv isa sim卡尖峰完全相同的错误消息,或者错误不同?
+  fprintf(stderr, "  --gdb-port=<port>  Listen on <port> for gdb to connect\n");
+  parser.option(0, "gdb-port", 1, [&](const char* s){gdb_port = atoi(s);});