java如何实现记录运行时已经运行语句的行号

zeko075 2013-05-10 08:20:50
比如:


public void fun() {
int a = 10;
if(a > 5)
a = 15;
else
a = 1;
}


在这几行代码中1,2,3,4,7行被执行了,但是5,6两行没有被执行,我想在运行结束后可以 记录下已经被执行的行,要怎么做呢???
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2013-05-11
  • 打赏
  • 举报
回复
引用 6 楼 zeko075 的回复:
就像这种效果
这个可以实现,只不过用的不是Eclipse
zeko075 2013-05-11
  • 打赏
  • 举报
回复
引用 7 楼 AA5279AA 的回复:
[quote=引用 6 楼 zeko075 的回复:] 就像这种效果
这个可以实现,只不过用的不是Eclipse[/quote] eclipse的EMMA插件好像可以实现这种功能,但是它的原理是什么呢···
zeko075 2013-05-10
  • 打赏
  • 举报
回复


就像这种效果
zeko075 2013-05-10
  • 打赏
  • 举报
回复
引用 4 楼 AA5279AA 的回复:
这个不可能记录。试想如果你中间加上几百行的空格,这些java是不编译的,难道也记录下来? 实际中还是用debug比较多。 当然新手的话这样 if(a > 5){ a = 15; System.out.println("a = 15;"); } else{ a = 1; System.out.println("a = 1;"); } 也是完全可以的
我是要做一个白盒测试软件,进行语句覆盖的时候要记录所有已经执行的语句。 那像别的白盒测试软件,是怎么把已经运行的语句高亮显示出来的呢,难道不记录执行行···
失落夏天 2013-05-10
  • 打赏
  • 举报
回复
这个不可能记录。试想如果你中间加上几百行的空格,这些java是不编译的,难道也记录下来? 实际中还是用debug比较多。 当然新手的话这样 if(a > 5){ a = 15; System.out.println("a = 15;"); } else{ a = 1; System.out.println("a = 1;"); } 也是完全可以的
李吵吵 2013-05-10
  • 打赏
  • 举报
回复
引用 2 楼 zeko075 的回复:
[quote=引用 1 楼 lc522084578 的回复:] 这个是没办法记录的345678 public void fun() { int a = 10; if(a > 5) a = 15; else a = 1; } 你这样吧程序调成一排他也是这样执行,行号,只是工具的一个标记,跟java代码运行无关
但是在语句覆盖的测试中,可以用不同的颜色标记不同的行是否被运行,那一种是如何实现的呢???[/quote] java代码是以分号断开的,一个分号代表一句;确实是一句句执行的,你可以打断点,进行debug调试,进入debug模式跟踪代码,看是怎么执行的
zeko075 2013-05-10
  • 打赏
  • 举报
回复
引用 1 楼 lc522084578 的回复:
这个是没办法记录的345678 public void fun() { int a = 10; if(a > 5) a = 15; else a = 1; } 你这样吧程序调成一排他也是这样执行,行号,只是工具的一个标记,跟java代码运行无关
但是在语句覆盖的测试中,可以用不同的颜色标记不同的行是否被运行,那一种是如何实现的呢???
李吵吵 2013-05-10
  • 打赏
  • 举报
回复
这个是没办法记录的345678 public void fun() { int a = 10; if(a > 5) a = 15; else a = 1; } 你这样吧程序调成一排他也是这样执行,行号,只是工具的一个标记,跟java代码运行无关

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧