Debugging 在我的嵌入式平台上运行GDB的不同方法

Debugging 在我的嵌入式平台上运行GDB的不同方法,debugging,gdb,embedded-linux,Debugging,Gdb,Embedded Linux,我想在我的ARM嵌入式板上运行GDB。。。 我在网上提到,我们可以设置GDB服务器,也可以进行远程调试,但我仍然缺少为GDB调试设置整个环境的正确步骤 从交叉编译GDB到在嵌入式板上调试运行我的GDB,谁能给我提供一个正确的指导 我非常感谢您提供的任何信息我假设您有一个工具链,可以为您的嵌入式linux平台构建应用程序。这应该包括gdb(命名为armlinuxgdb) 下一步检查您的板上的linux是否已经包括gdb/gdbserver。如果是这样,你就不必建造任何东西。如果没有,请按如下方式配

我想在我的ARM嵌入式板上运行GDB。。。 我在网上提到,我们可以设置GDB服务器,也可以进行远程调试,但我仍然缺少为GDB调试设置整个环境的正确步骤

从交叉编译GDB到在嵌入式板上调试运行我的GDB,谁能给我提供一个正确的指导


我非常感谢您提供的任何信息

我假设您有一个工具链,可以为您的嵌入式linux平台构建应用程序。这应该包括gdb(命名为armlinuxgdb)

下一步检查您的板上的linux是否已经包括gdb/gdbserver。如果是这样,你就不必建造任何东西。如果没有,请按如下方式配置gdb:

./path/to/gdb/source/configure --host=arm-linux --target=arm-linux --prefix=/path/to/installation/directory ./path/to/gdb/source/configure--host=arm-linux--target=arm-linux--prefix=/path/to/installation/directory 然后制作并安装。 注意--host和--target可能与您的工具链前缀匹配

作为此安装的一部分,您将获得gdbserver。把它安装到你的主板上


然后使用它,如前所述。这取决于您的连接类型(TCP、串行),但您需要在板上gdbserver(gdbserver二进制)下运行程序,然后在PC上运行工具链的gdb,并使用“目标远程”命令连接到板上。

您已经看过了吗?它将负责交叉编译器和根文件系统。您可以选择编译主机和目标gdb/gdbserver,这样您就可以从一方面获得所有东西。请参阅BR。

嵌入式系统的远程调试: GDB作为服务器,必须编译到调试目标构建中,以支持连接的GDB客户端。在客户端运行时,必须存在目标源的副本以及可执行文件的非压缩(符号)版本

GCC编译应该使用-g标志完成

在目标/服务器端,使用

gdbserver <port> --attach <pid> or gdbserver host:<port> <program>
要运行哪个gdb客户端?例如,必须在构建时考虑正确的目标处理器

.../toolchain/bin/powerpc-linux-gdb core/mydaemon/src/mydaemon -x gdb-command-script
-x是一个文件名选项


希望这有帮助

嵌入式系统的远程调试:GDB作为服务器,必须编译到调试目标版本中,以支持连接的GDB客户端。在客户端运行时,必须存在目标源的副本以及可执行文件的非压缩(符号)版本

GCC编译应该使用-g标志完成

在目标/服务器端,使用

gdbserver <port> --attach <pid> or gdbserver host:<port> <program>
gdbserver--连接或gdbserver主机: 在客户端,运行gdb,然后

(gdb) target remote IP:PORT
(gdb)目标远程IP:端口 要运行哪个gdb客户端?例如,必须在构建时考虑正确的目标处理器

.../toolchain/bin/powerpc-linux-gdb core/mydaemon/src/mydaemon -x gdb-command-script
…/toolchain/bin/powerpc-linux-gdb-core/mydaemon/src/mydaemon-x gdb命令脚本 -x是一个文件名选项


希望这有帮助

你在主板上运行什么操作系统(如果有的话)?我在主板上运行linux…我能够为我的主机PC生成gdbserver和gdb。。现在我已经在我的嵌入式计算机上安装了gdbserver,并使用主机PC上的gdb。。现在GDB已经启动了,我可以调试它了。。我还有一个问题,如果有人能帮忙的话。。调试时,我在主板上的tera术语(如Processor_create>ERROR)上遇到故障:无法访问文件XXXXX.YYY。。这是什么意思??这里XXXXX.YYY是一个编解码器库。。这是因为我没有建立我的编解码器库启用-g选项…不知道。但这还有另外一个问题。没有人会在这里看到它。