gpt4 book ai didi

Qt Creator 2.7.1 和 Qt 4.8.4 无法远程调试库

转载 作者:行者123 更新时间:2023-12-02 03:12:51 30 4
gpt4 key购买 nike

使用 Qt Creator 2.7.1 和 Qt 4.8.4,我制作了一个 Qt 库和一个动态链接到该库的简单 Qt 应用程序。我正在尝试远程部署和调试我的应用程序,并在调用它们时进入我的库函数。我可以成功设置断点并远程调试,但无法使用调试器 ( gdb ) 进入我的库函数。当我第一次在 Debug模式下使用 QtCreator 远程启动应用程序时,我遇到了以下警告:

Could not load shared library symbols for 7 libraries, e.g. libcustom-stuff.so.1.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?

我的调试器是使用 QtCreator 设置的,如这些图像所示(请注意,我已经切换了图像 #3 中的“目标路径”和“路径”,但它没有帮助: enter image description here enter image description here enter image description here

我的“套件”设置如下:

enter image description here

在 Qt Creator 的“调试器日志”中,我输入了“命令”:

info sharedlibrary

我得到的回复:

>~"From        To          Syms Read   Shared Object Library\n"
>~"0x400007e0 0x40011bf0 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/lib/ld-linux.so.3\n"
>~" No libcustom-stuff.so.1\n"
>~"0x4006d018 0x400d7124 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtDBus.so.4\n"
>~"0x401065c4 0x4013dd18 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtXml.so.4\n"
>~"0x40172430 0x4024c1b4 Yes /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libQtNetwork.so.4\n"

我还确保库和应用程序都是使用以下内容构建的:

CONFIG+=declarative_debug

在库和应用程序的“编译输出” Pane 中,我看到“-g”标志。

它们都驻留在文件系统上的同一目录中,所以这是怎么回事!为什么我可以在应用程序中调试和设置断点,但不能单步执行库调用?任何想法都将不胜感激。

更新:

根据 kikeenrique 的建议,我尝试从我的 Ubuntu 主机(而不是 ARM 目标)加载调试符号:

GNU gdb (Ubuntu/Linaro 7.4-0~69~lucid1) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Welcome to Fluke GDB Init Script for QtCreator
Reading symbols from /home/user/proj/output/exported-nfs/home/user/libcustom-stuff.so.1.0.0...done.
(gdb)

看起来GDB至少可以加载符号..

最佳答案

您的远程应用程序是否使用不同的架构?

如果它们不同,您将需要使用相同的 gdb 服务器和客户端架构。

尝试在项目 -> 构建和运行 -> 构建环境中设置 LD_LIBRARY_PATH 以及库的路径。

关于Qt Creator 2.7.1 和 Qt 4.8.4 无法远程调试库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864366/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com