- 浏览: 29983 次
- 性别:
- 来自: 上海
最新评论
-
u011710489:
你好,请问icu是什么对象,能代码截图全一点么
Eclipse JDT中TypeDeclaration的resolveBinding() -
assertmyself:
其实就是工程里面包括了一个.checkstyle.xml;且配 ...
【转载】解决CheckStyle builder的Error -
dwj3179:
大哥啊 链接半天过不去
【转载】解决CheckStyle builder的Error -
jamaica1982:
后来发现,在Console那个view的上方有2个按钮,分别是 ...
Eclipse 4.2 (Juno)中的Console自动弹出问题 -
chenlei239:
我晕死。。。能贴出来不
【转载】解决CheckStyle builder的Error
文章列表
最近需要调整项目代码,所以安装了一个CheckStyle的Eclipse插件。但在workspace里面的项目自动开始build的时候,碰到如下问题:
Errors occurred during the build.
Errors running builder 'Checkstyle Builder' on project [projectname].
Fileset from project [projectname] has no valid check configuration.
Fileset from project [projectname] has no valid che ...
最近开始使用Eclipse Juno开发了,一片花白的界面,怎么说呢...习惯了就好了吧。
不过有一个问题让我最近确实有点烦,那就是:
我一般习惯在debug的时候只关注3部分的panel:Editor, Debug View, Varirables+Expressions Views,但是打印程序输出的Console View总是时不时弹出来挡住Debug View和部分Editor的区域,而那些打印的log都是其他线程打印的跟bug基本无关的内容!
我点Esc啊,点其他区域啊,有时候点一两下,那个Console就缩回去了,有时候需要点好几下。
Google了一下,发现StackOverfl ...
让Soot在完成分析之后不产生输出文件
- 博客分类:
- Soot
Soot默认会在完成所指定的分析和优化之后,将经过优化的文件(一般是.class)文件输出到指定的目录。使用Soot已经有一些年头了,之前不太在乎最后这个输出阶段,毕竟往硬盘上写点东西比进行whole program analysis要快太多了。所以,在发现Soot输出Writing to...之后,心中往往是充满完成分析(而没有抛异常)的喜悦,而忽视了输出本身的开销。
不过,最近的项目需要多次调用Soot,并且需要每两次调用Soot之间的间隔时间尽量短,于是就想是不是可以把这个output给关掉。之前因为其他目的,把Soot的mailing list从2005年开始看到2012年,好像没啥印 ...
首先是昨天在基于InsECTJ做profiling,然后发现绝大多数的test case都fail了,与此同时产生的trace文件的大小都是37,336,474字节(内含7,634,068行,每行一个字符),觉得比较奇怪:
一方面,这一组test case应该只有2个fail,其它全部pass。另一方面,当然是所有fail的trace文件都是同样的大小。
今天回来大概看了一下代码,发现是一个比较低级的bug造成的:用于存放当前test case的trace的ArrayList没清空。于是改了改代码,再运行,发现绝大多数trace看上去都是正确的,但是还是有一个test case本应该是pass ...
最近在重新修改和配置之前的一个项目,其中用到了InsECTJ,其主页如下:
http://insectj.sourceforge.net/
当然,Java的profiler很多,在这里一方面是因为历史原因需要使用InsECTJ,另一方面,我觉得InsECTJ的使用确实比较简单。InsECTJ基于Java的agent实现,可以动态进行instrumentation,所以相比于使用Soot, ASM或BCEL直接去instrument要方便一点。
InsECTJ本身是以Eclipse插件的形式发布的,而且在用户手册里面没有介绍如何通过命令行来使用。插件在选择所要profile或instrumen ...
今天在用JDT的DOM API分析Java源代码时遇到如下问题:
当用户在JDT Editor里面编辑代码时,如果需要JDT进行参数推荐,则会触发我们自己的代码。而此时,不知何故,我们的ASTVisitor的代码中无法resolve一个TypeDeclaration。即调用TypeDeclaration.resolveBinding()的返回值为null。进而导致一个NPE。
后来老杨等人找到这么一段API文档(是ASTParser.setResolveBindings()的):
...
When source is supplied by setSource(char[]), the l ...
这两天由于在一个test case中需要进行以下步骤:
1. Instrument一些.class文件。
2. 运行经过instrumentation之后的.class文件。
3. 检查第2步中的运行结果。
所以需要使用Java去调用一个简单的命令行来完成第2步。
以前我依稀记得是要用Runtime的exec方法,但是...(忘记具体用法了 )
还好这一用法不是那么的冷僻,所以很容易通过Google找到了StackOverflow上面的2篇文章:
[1] http://stackoverflow.com/questions/615948/how-do-i-run-a-batch-file-f ...
前段时间,由于项目需要使用Eclipse JDT中与DOM相关的API(如ASTParser、ASTVisitor等),所以写了一个Eclipse Plug-in。随着项目代码增多,各种修改和优化也接踵而至。由于很担心会发生一些regression,我们决定写一些JUnit test来对关键部分做一些回归测试。
之前没测试过Eclipse Plug-in,所以在网上找了一番,找到如下文章:
http://www.ibm.com/developerworks/library/os-eclipse-plugindev1/
我阅读了"Testing and Debugging" ...
我之前对于这个问题肯定是确认过的,不过...,就是因为没做个笔记,把它给忘掉了,所以今天在这里记录一下。
1) Java异常的stack trace里面,inner class的类名是用$来将其与所在的outer class分开的(这与所生成的.class文件名一致),比如:
java.lang.NullPointerException
at org.apache.hadoop.mapred.CapacityTaskScheduler$TaskSchedulingMgr.updateQSIObjects(CapacityTaskScheduler.java:504)
2) 这里需要重点强调 ...
在研究一个NPE的stack trace的时候,发现一个方法名是access$1100,隐约感觉是一个synthesized的东西,但不知道其确切来历。在网上搜了一下,发现如下一篇文章:
http://www.retrologic.com/innerclasses.doc7.html
其中主要是如下一段话大概解答了我的疑问:
There is one more category of compiler-generated members. A private member m of a class C may be used by another class D, if one class ...
今天读了读Soot中的SmartLocalDefs类,因为在其mailing list里面至少有2封邮件[1][2]推荐看看这个类,慕名而来 可惜的是,这个类相关的注释/文档太少,所以特此记录,以备后用。
首先这个类的成员包括5个域, 4个方法和1个内部类,下面就按次序简单描述一下各个部分。
一. 域
1) private final Map<Cons, ArrayList<Unit>> answer;
answer用于存储该类所做分析的最终结果:将(cons Unit Local)映射到其所有可能的def所在的Units
2) private final Map& ...
断断续续的用Ant已经有不短的时间,以前只是关注它在build过程中所产生的log的内容,例如build是否成功和错误信息等。而今天需要把具体的一条log对应到其输出的代码行上,所以想到如果可以使用log4j则非常的方便。
Google了一下,发现Ant确实具有这一功能,详见:http://ant.apache.org/manual/listeners.html
先把Log4j的jar包丢到$ANT_HOME/lib/中,然后配置了一下log4j.properties,果然就可以用log4j的各种格式输出日志了
使用命令行:ant -listener org.apache.tools.a ...
Soot是一个Java的分析框架,功能比较强大,其详细介绍在它的网站上都有:
http://www.sable.mcgill.ca/soot/
个人对Soot的印象是可参考的文档比较丰富,而且维护者回邮件很快。在具体使用上面,-soot-class-path时不时会出现一点状况,这个有待于深入研究后详细记录一下。而今天记录的是关于-process-dir的两个小东西:
1) Soot支持多个-process-dir,即命令行soot.Main -process-dir dir1 -process-dir di2会使其对dir1和dir2这两个目录下的文件都进行处理。
2) -process- ...
初次接触Findbugs是在3、4年之前,可惜一直都未能真正把它列入日常使用的工具之中。
Findbugs的原理虽然相对ESC/Java等工具要简单许多,而且我相信它现在的false positive也不会比当初少太多,但最近发现它已应用于许多知名的开源项目(如Hadoop)中。又想起自己那风格邋遢,难以维护的代码堆,我决定开始真正的使用Findbugs,希望能起到预想中的效果
之前阅读了一些关于Hadoop Wiki中log方法的资料,其中没怎么提及其JUnit test所产生的log是如何生成以及如何配置的,而本人却需要确认一下文件名如TEST-org.apache.hadoop.mapred.TestCapacityScheduler.txt这样的log从何而来。
在用TEST-和.txt等关键字大概的搜索了一下Hadoop的工程目录无果之后,将目标转向JUnit以及Ant中与JUnit相关的代码。现在大致确定这个文件是由Ant代码中如下目录里的文件产生:
org\apache\tools\ant\taskdefs\optional\junit\
现在的问题是 ...