gpt4 book ai didi

eclipse - 在 Eclipse 中使用 LinuxTools 的 Valgrind 分析器进行远程调试

转载 作者:行者123 更新时间:2023-12-02 15:24:16 25 4
gpt4 key购买 nike

我有一个程序,希望使用 Linux Tools 远程 Valgrind 分析器在 Valgrind 下远程运行。

我通常使用 RSE 在 headless 服务器(具有特殊硬件,因此必须在该计算机上远程完成)上进行远程调试,效果很好。我的机器和目标都是Linux机器。

我现在正在尝试使用 Linux Tools 插件让 Valgrind 通过 Eclipse 工作。我在远程目标机器上安装了 Valgrind 3.10,我可以手动运行它(在 Eclipse 之外):

远程: valgrind --vgdb=full --vgdb-error=0/path/to/app --args

 vgdb --port=2345 --pid=XXXX

在本地,使用目标远程主机:2345与gdb连接。

但是,我无法弄清楚如何获取“Valgrind(远程)”Eclipse 工具来模拟此操作,模仿此处显示的“RemoteTools”设置: .

当我写入以“rse:/”开头的“To:”可执行文件时,分析工具设置窗口右上角出现错误,显示 [Valgrind 选项]: 无法确定 Valgrind 的版本。我应该在此处写什么才能获得有效的远程 Valgrind 连接?

最佳答案

尚未找到有关该主题的更多最新帖子,也许它对某人有用。我也没有设法将远程 valgrind 插件与 RSE 一起使用。似乎只有 dstore 连接类型适用于 Linux 工具远程 valgrind,因为 SSH 或 FTP 对我不起作用。 rseserver需要 Perl 和 Java,但我的目标中没有它们。

我必须通过 Launch Group 结合 this 使用这个复杂的解决方案和 this解决方案。前提条件:远程目标上安装了 valgrind 和 vgdb。

  1. 编写脚本start_remote_valgrind.sh

    设置-x
    远程IP = 192.168.7.2
    远程端口=2222
    应用程序名称=测试应用程序
    Remote_dir=/usr/local/bin/
    local_dir=/home/项目名称/
    ssh -T root@$remote_ip Killall -9 vgdb
    ssh -T root@$remote_ip Killall -9 valgrind
    scp $local_dir$app_name root@$remote_ip:$remote_dir$app_name
    ssh root@$remote_ip valgrind --vgdb=full --vgdb-error=0 --leak-check=full -v $remote_dir$app_name &
    sleep 1
    ssh root@$remote_ip vgdb --port=$remote_port

  2. 创建调试配置“运行”->“调试配置”->“C/C++ 远程应用程序”:2.1 在主选项卡上设置项目名称和应用程序二进制文件2.2 在配置窗口底部单击“选择其他”链接并选择“GDB (DSF) 手动远程启动器”2.3 在“调试器”选项卡上为您的目标平台设置 GDB 调试器,命令行脚本 .gdbinit。2.4 在调试器->连接选项卡上设置 TCP 连接、远程 IP 和端口。 enter image description here enter image description here

  3. 创建外部工具运行->外部工具->外部工具配置... enter image description here

  4. 创建启动组运行->调试配置->启动组 enter image description here外部工具必须处于“运行”配置中,远程 gdb 必须处于“调试”中。这种方法的好处是远程 valgrind 输出打印在 Eclipse 控制台中,因此您不需要在单独的控制台中手动启动 vgdb 并在单独的窗口中查看消息。

关于eclipse - 在 Eclipse 中使用 LinuxTools 的 Valgrind 分析器进行远程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26589252/

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