【问题标题】:Remote debugging using LinuxTools' Valgrind profiler in Eclipse在 Eclipse 中使用 LinuxTools 的 Valgrind 分析器进行远程调试
【发布时间】:2014-10-27 13:59:46
【问题描述】:

我有一个程序,我想使用 Linux 工具远程 Valgrind 分析器在 Valgrind 下远程运行。

我通常使用 RSE 在无头服务器(具有特殊硬件,因此必须在该机器上远程完成)上进行远程调试,它工作正常。我的机器和目标都是Linux机器。

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

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

 vgdb --port=2345 --pid=XXXX

在本地,使用 target remote host:2345 连接 gdb。

但是,我不知道如何获得“Valgrind(远程)”Eclipse 工具来模拟这一点,模仿此处显示的“RemoteTools”设置:。

当我写入以“rse:/”开头的“To:”可执行文件时,我在 Profiling Tools 设置窗口顶部的角落收到错误消息,显示 [Valgrind Options]: Couldn't determine version of Valgrind。我应该在这里写什么来获得有效的远程 Valgrind 连接?

【问题讨论】:

    标签: eclipse debugging gdb valgrind remote-debugging


    【解决方案1】:

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

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

    1. 编写脚本 start_remote_valgrind.sh

      set -x remote_ip=192.168.7.2 remote_port=2222 app_name=test_app remote_dir=/usr/local/bin/ local_dir=/home/project_name/ 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 在配置窗口的底部点击“Select Other”链接并选择“GDB (DSF) manual remote launcher” 2.3 在调试器选项卡上为您的目标平台设置 GDB 调试器,命令行脚本 .gdbinit。 2.4 在 Debugger->connection 选项卡上设置 TCP 连接、远程 ip 和端口。

    3. 创建外部工具运行->外部工具->外部工具配置...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-27
      • 2012-09-04
      • 2023-03-04
      • 2011-11-01
      • 2011-04-22
      • 1970-01-01
      • 2011-12-23
      • 2012-09-26
      相关资源
      最近更新 更多