简体   繁体   English

如何在Windows中绕过TPTP的IWAT0435E

[英]How to get around TPTP's IWAT0435E in Windows

I have just installed TPTP's latest version (4.6.1) and am using Eclipse build 20090621-0832 on Windows 7 (User Control enabled). 我刚安装了TPTP的最新版本(4.6.1),并在Windows 7上使用了Eclipse build 20090621-0832 (启用了用户控件)。
I'm trying to profile an application but am getting the following error under the Monitor tab: 我正在尝试分析应用程序但在“监视器”选项卡下遇到以下错误:

IWAT0435E An error occurred when connecting to the host.

Anyone know how to resolve this? 有谁知道如何解决这个问题?

For Windows, this may be related to a missing reference to the Integrated Agent Controller (IAC) 对于Windows,这可能与缺少对集成代理控制器(IAC)的引用有关

The Integrated Agent Controller (IAC) is a new feature in TPTP workbench which allows users to profile a Java application locally and to run a TPTP Test locally without needing the standalone Agent Controller on the local machine. 集成代理控制器(IAC)是TPTP工作台中的一项新功能,它允许用户在本地配置Java应用程序并在本地运行TPTP测试,而无需本地计算机上的独立代理控制器。
Profiling on a remote machine or running a TPTP test on a remote machine would still need the Agent Controller on that remote machine. 在远程计算机上进行概要分析或在远程计算机上运行TPTP测试仍然需要该远程计算机上的代理控制器。
The biggest benefit of the Integrated Agent Controller is that it simplifies the usage of TPTP functionality in the local scenario by removing the dependency on the local standalone Agent Controller. 集成代理控制器的最大好处是,它通过消除对本地独立代理控制器的依赖性,简化了本地方案中TPTP功能的使用。 There is no need to install and configure the local standalone Agent Controller when using the Profiling and Logging perspective and Test perspective locally. 在本地使用“性能分析和日志记录”透视图和“测试”透视图时,无需安装和配置本地独立代理控制器。

However, that local agent might not be referenced correctly in one of the TPTP config files, either because: 但是,可能无法在其中一个TPTP配置文件中正确引用该本地代理,原因如下:

  • it is already referenced in the workspace (incorrectly) 已在工作区中引用 (错误)
    See workspace\\.metadata\\.plugins\\org.eclipse.tptp.platform.iac.administrator\\config\\ serviceconfig.xml 请参阅workspace\\.metadata\\.plugins\\org.eclipse.tptp.platform.iac.administrator\\config\\ serviceconfig.xml
  • or because the IAC service is not started automatically: 或者因为IAC服务没有自动启动:
    Check the connection with the localhost (via Window->preferences->Agent Controller->hosts->Test connection). 检查与localhost的连接(通过Window-> preferences-> Agent Controller-> hosts-> Test connection)。
    See this thread (and its follow up) for a working setup. 有关正常工作的设置,请参阅此主题 (及其后续内容)。

This thread might also be relevant. 这个主题也可能是相关的。


For those On Linux: 对于那些在Linux上:

It may be related to gcc version or libstdc++xx-glibcy.y version, as mentioned in bug 244213 or bug 240677 它可能与gcc版本或libstdc++xx-glibcy.y版本有关,如bug 244213bug 240677中所述

This blog post relates what kind of workaround is possible in his case. 这篇博文介绍了他的案例中可行的解决方法。 May be it could help here. 可能会有所帮助。


Extract: 提取:

A workaround for this is described in this blog post . 此博客文章中描述了解决方法。

It's pretty straight forward: get a deb file 这很简单:获取deb文件 libstdc++2.10-glibc2.2_2.95.4-27_i386.deb and install it with sudo dpkg .... 并使用sudo dpkg安装....

( update Dec. 2010 : gcc before 3.x is no longer available. 2010年12月更新 :3.x之前的gcc不再可用。
You can try with, for instance, ( gcc-3.3 ) libstdc++5_3.3.6-20_i386.deb , replacing all reference to a .deb by this one: 例如,您可以尝试使用gcc-3.3libstdc++5_3.3.6-20_i386.deb ,将此引用替换为.deb的所有引用:

sudo dpkg --install libstdc++5_3.3.6-20_i386.deb

Or if you are running on 64 bits : 或者如果您运行64位

sudo dpkg --force-architecture --install libstdc++5_3.3.6-20_i386.deb

Not tested though.) 虽然没经过测试。)

The problem is now that the workaround involves root actions. 问题是现在解决方法涉及根操作。
First, one hasn't always the required root permissions to do so. 首先,一个人并不总是具有所需的root权限。
More importantly however, I don't like installing external debs and other stuff as root because it can interfere with the packaging system, pollute system directories and break things in ugly, or worse, unrecoverable ways. 但更重要的是,我不喜欢以root身份安装外部deb和其他东西,因为它可能会干扰打包系统,污染系统目录并以丑陋或更糟糕的,不可恢复的方式破坏事物。

I always install third party stuff (with which I mean things that are not available through the standard packaging system) in my home directory under ~/usr . 我总是 ~/usr下的主目录中 安装第三方内容 (我指的是标准打包系统无法提供的内容)。
For example, I build autotools-managed software with the option --prefix=~/usr , so things end up in ~/usr/bin , ~/usr/lib , ~/usr/share , etcetera. 例如,我使用选项--prefix=~/usr构建autotools管理的软件,所以最终在~/usr/bin~/usr/lib~/usr/share等等。

I managed to install the deb file described above also in ~/usr as follows. 我设法在~/usr安装上面描述的deb文件,如下所示。
First, I extracted the deb file to a temporary directory to get an idea of its contents: 首先,我将deb文件解压缩到一个临时目录,以了解其内容:

dpkg -x libstdc++2.10-glibc2.2_2.95.4-27_i386.deb tmp/

This resulted in the following file tree: 这导致了以下文件树:

tmp/
`-- usr
    |-- lib
    |   |-- libstdc++-3-libc6.2-2-2.10.0.so
    |   `-- libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
    `-- share
        `-- doc
            `-- libstdc++2.10-glibc2.2
                |-- README.Bugs.gz
                |-- README.Debian
                |-- changelog.Debian.gz
                `-- copyright

So I just had to move the shared libraries libstdc++*.so to ~/usr/lib , or alternatively, extract the deb file directly int my home directory: 所以我只需要将共享库libstdc++*.so移动到~/usr/lib ,或者直接在我的主目录中解压缩deb文件:

dpkg -x libstdc++2.10-glibc2.2_2.95.4-27_i386.deb ~/

One important missing piece of the puzzle is to make sure these shared libraries can be found at run time (or compile time in case you want to compile against them). 这个难题的一个重要缺失是确保可以在运行时找到这些共享库(或者在您想要编译它们的情况下编译时)。
The trick is to set the LD_LIBRARY_PATH and LD_RUN_PATH environment variables, typically in your ~/.bashrc or ~/.profile startup scripts: 诀窍是设置LD_LIBRARY_PATHLD_RUN_PATH环境变量,通常在~/.bashrc~/.profile启动脚本中:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/usr/lib
export LD_LIBRARY_PATH
LD_RUN_PATH=$LD_RUN_PATH:~/usr/lib
export LD_RUN_PATH

And Eclipse TPTP profiling lived happily ever after. Eclipse TPTP分析从此过上了幸福的生活。 I hope. 我希望。

I found that IAC was disabled by default. 我发现IAC默认是禁用的。 Try Windows/Preferences/Agent Controller/Integrated Agent Controller/Activate the Integrated Agent Controller on demand - enabled 尝试启用Windows /首选项/代理控制器/集成代理控制器/按需激活集成代理控制器

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM