我想在MIPS32路由器上运行gdb/gdbserver

我想在MIPS32路由器上运行gdb/gdbserver,gdb,mips,gdbserver,Gdb,Mips,Gdbserver,我有一个路由器,它是MIPS32,MSB。 我想在路由器(RTL8198内核)上运行gdb/gdbserver 但是,我在Internet上找到的每个gdb/gdbserver都无法运行,并显示错误消息“未找到”或“非法指令” 据我所知,“未找到”消息表示没有库, 所以我通过readelf检查了库,并尝试在路由器中复制/lib 但是,在路由器中,我不能在/lib中生成文件,因为它是只读文件系统。 我还尝试了LD_LIBRARY_PATH,但也失败了 # ls -al /var/lib ls -a

我有一个路由器,它是MIPS32,MSB。 我想在路由器(RTL8198内核)上运行gdb/gdbserver

但是,我在Internet上找到的每个gdb/gdbserver都无法运行,并显示错误消息“未找到”或“非法指令”

据我所知,“未找到”消息表示没有库, 所以我通过readelf检查了库,并尝试在路由器中复制/lib

但是,在路由器中,我不能在/lib中生成文件,因为它是只读文件系统。 我还尝试了LD_LIBRARY_PATH,但也失败了

# ls -al /var/lib
ls -al /var/lib
drwxr-xr-x    3 root     root            0 Aug  3 22:39 .
drwxr-xr-x   19 root     root            0 Aug  4 22:24 ..
-rw-r--r--    1 root     root       268731 Aug  3 22:39 ld.so.1
-rw-r--r--    1 root     root      2767185 Aug  3 22:38 libc.so.6
-rw-r--r--    1 root     root        42334 Aug  3 22:37 libdl.so.2
drwxr-xr-x    2 root     root            0 Aug  2 22:24 misc
# export LD_LIBRARY_PATH=/var/lib
export LD_LIBRARY_PATH=/var/lib
# ./gdbserver
./gdbserver
/bin/sh: ./gdbserver: not found
#
所以,我试着建立自己。但我不知道怎么。。。 我不能解决很多构建错误

有人能解决这个问题吗?或 是否有人知道RTL8198的mips32 gdbserver的URL链接?

您收到的是“非法指令”,因为您的路由器不是完整的MIPS实现,而是Lexra,您可以找到更多信息


编辑:尝试使用完整路径(例如
/foo/bar/gdbserver
)。另外,请尝试
ldd/foo/bar/gdbserver
,看看它是否可以找到lib和/或它想要它们的位置
gdbserver
是一个程序[不是库],只需要一些标准库。另外,使用JTAG进行调试怎么样。完整路径的含义是什么?我一直尝试使用“/var/lib”。这不是完整的路径吗?2.ldd不在我的忙碌箱中。3.我没有JTAG,也不知道如何使用JTAG。。也许我应该研究一下。完整路径意味着“/var/lib/whatever”,而不是在/var/lib中做任何事情。JTAG是一种硬件接口。您的芯片支持EJTAG,它允许调试。通常,您会购买一个便宜的JTAG适配器,该适配器通过USB连接到您的开发系统,并有一根JTAG电缆连接到设备上的JTAG接口/引脚[以及一些软件]。对于SoC系统来说,有接口是相当标准的。ejbtag可用于促进gdbserver连接。谷歌:EJTAG请看:即使我使用JTAG,我也应该运行gdbserver。正确的?但是我现在不能运行gdbserver。这就是这个问题的重点。我在路由器上找不到任何可用的gdbserver,也无法构建可用的gdbserver。我下载并尝试构建realtek sdk、rsdk、rtl819x工具链、gdb源代码。。。但是我在所有方面都失败了。EJTAG不使用gdb[AFAICT]。此外,RTL8198是realtek SoC,但不是路由器制造商和型号。你在使用OpenWRT吗?我会做
ls-R
,找出哪些文件可用以及任何可写FSE,或者您是否可以/应该将R/O FS重新安装为R/W。您有哪些启动映像(*.bin)映像?如果你做了一些不好的事情并阻塞了路由器,JTAG可以重新刷新设备。你说你的构建失败了[IMO,一个prereq],但没有说如何/为什么。另外,您希望调试什么[以及为什么]?答案将决定你需要做什么。
# ls -al /var/lib
ls -al /var/lib
drwxr-xr-x    3 root     root            0 Aug  3 22:39 .
drwxr-xr-x   19 root     root            0 Aug  4 22:24 ..
-rw-r--r--    1 root     root       268731 Aug  3 22:39 ld.so.1
-rw-r--r--    1 root     root      2767185 Aug  3 22:38 libc.so.6
-rw-r--r--    1 root     root        42334 Aug  3 22:37 libdl.so.2
drwxr-xr-x    2 root     root            0 Aug  2 22:24 misc
# export LD_LIBRARY_PATH=/var/lib
export LD_LIBRARY_PATH=/var/lib
# ./gdbserver
./gdbserver
/bin/sh: ./gdbserver: not found
#