这里有人成功在Valgrind下运行 Eclipse吗?我正在与涉及 JNI 代码的特别棘手的崩溃作斗争,并希望 Valgrind 或许可以(再次)证明其卓越性,但是当我在 Valgrind 下运行 Eclipse 时,JVM 终止并显示一条有关无法创建初始对象的错误消息堆(我目前无法访问确切的错误消息;我会尽快编辑这篇文章。)
我有一个JUnit 3.x TestCase,我希望能够对其进行参数化。我想对整个参数TestCase(包括灯具)进行参数化。但是,该TestSuite.addTestSuite()方法不允许传递TestCase对象,只能传递一个类:
TestSuite suite = new TestSuite("suite");
suite.addTestSuite(MyTestCase.class);
Run Code Online (Sandbox Code Playgroud)
我希望能够将参数(字符串)传递给在测试运行时创建的MyTestCase实例。现在,我必须为每个参数值使用一个单独的类。
我尝试将其传递给任意子类:
MyTestCase testCase = new MyTestCase() {
String getOption() {
return "some value";
}
}
suite.addTestSuite(testCase.getClass());
Run Code Online (Sandbox Code Playgroud)
但是,这失败并带有断言:
... MyTestSuite$1 has no public constructor TestCase(String name) or TestCase()`
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我是否以错误的方式解决问题?
假设我在IDE中有一个Java程序(在本例中为Eclipse).假设我现在执行程序并在某些时候终止它或它自然结束.
有没有一种方便的方法来确定哪些行至少执行一次以及哪些行没有执行(例如,异常处理或未达到的条件?)
收集此信息的一种手动方式是不断调试并维护一组我们至少通过一次的行.但是,是否有一些工具或分析器已经这样做了?
编辑:只是为了澄清:我需要能够以编程方式访问此信息,而不一定是从JUnit测试.
关于在子类化时能够"缩小"返回类型,我正在努力解决一些奇怪的泛型行为.我设法将问题减少到以下几组:
public class AbstractIndex {
}
public class TreeIndex extends AbstractIndex {
}
public interface IService<T extends AbstractIndex> {
}
public interface ITreeService extends IService<TreeIndex> {
}
public abstract class AbstractServiceTest<T extends AbstractIndex> {
abstract <V extends IService<T>> V getService();
}
public class TreeServiceTest extends AbstractServiceTest<TreeIndex> {
@Override
ITreeService getService() {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我试图缩小的返回类型的Java警告getService到ITreeService.警告是
类型安全:从TreeServiceTest类型返回类型ITreeService for getService()需要未经检查的转换以符合类型AbstractServiceTest中的V
为什么ITreeService不是有效的缩小类型getService?
编辑:将错误更改为警告
我正在尝试使用ack-grep作为Windows上Emacs中grep + find的替代品,但ack-grep立即(成功)退出而不打印任何匹配项.我已经尝试了几乎所有可能的命令行参数组合到ack-grep,但似乎没有任何效果.
M-x grep-find
Run Code Online (Sandbox Code Playgroud)
输入"ack html"以搜索包含"html"的文件.Ack立刻退出,什么都不打印:
-*- mode: grep; default-directory: "c:/" -*-
Grep started at Tue Feb 23 23:50:52
ack html
Grep finished (matches found) at Tue Feb 23 23:50:52
Run Code Online (Sandbox Code Playgroud)
执行相同的命令"ack html" cmd.exe工作正常(显示许多包含字符串"html"的各种文件.
有任何想法吗?
我在ant属性中有一个以逗号分隔的字符串,如下所示:
<property name="prop" value="a,b,c"/>
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样打印或记录它:
Line 1: a
Line 2: b
Line 3: c
Run Code Online (Sandbox Code Playgroud)
听起来不应该太难,但我无法弄清楚我应该把哪些蚂蚁组成.
我正在尝试让FindBugs ant任务在生成的报告中包含源信息.
<findbugs home="${findbugs.home}" output="xml" outputFile="${basedir}/findbugs/findbugs-${package.basename}.xml" excludeFilter="${basedir}/findbugsExclude.xml" jvmargs="-Xmx1048m">
<sourcePath path="${package.srcdir}" />
<class location="${package}" />
<auxClasspath>
<path refid="findbugs.auxinput" />
</auxClasspath>
</findbugs>
Run Code Online (Sandbox Code Playgroud)
就我所见,$ {package.srcdir}属性的值是正确的; 它指向源树的根,以便$ {package.srcdir} /com/mydomain/MyClass.java是源文件的路径.
生成的报告包含一个<SrcDir>与赋予ant任务的源路径匹配的元素,因此显然该<sourcePath>元素由findbugs任务处理.尽管如此,XML报告中的包统计信息仅包含sourceFile="<Unknown>".
我错过了一些明显的东西吗
Linux上的Eclipse(GTK +)具有相当大的UI元素,这会浪费屏幕空间.比较Linux版本(在Ubuntu 9.10上采用):

使用Windows版本:

请注意Project Explorer选项卡,菜单栏和工具栏的垂直大小.有可能以某种方式调整这个吗?这在其他Linux发行版中看起来如何?
有一些"高级"表/电子表格SWT小部件(Nattable,Nebula Grid),但它们都不支持真正大的数据集.Nattable是最接近的,但它在使用的数据类型中仍有限制,导致表中的行数变得有限.
我需要能够代表至少 2 ^ 32行,最好是2 ^ 64.
我觉得问这个有点愚蠢,但是我的 Visual Studio 安装中的“调试”菜单已经消失了。它应该在“构建”和“工具”菜单之间,但它根本不在那里。重新启动 VS 没有帮助。还尝试寻找自定义菜单的方法,但没有成功。
任何想法它去了哪里,我如何才能取回它?
是否有一个gcc等效的VC++警告C4018:签名/无符号不匹配?我们在Windows上使用/ WX运行自动构建,并且我希望能够在Linux上构建时捕获这些警告.