新足迹

 找回密码
 注册

精华好帖回顾

· 旧纸箱的利用(更新,第三个成果——化妆盒华丽登场~) (2009-7-13) edith921 · 白胖子toyota prado拿回来了,交个作业吧,虽然满街跑的到处都是了,不过今天贴的是属于咱足迹的~呵呵~更新照片~ (2013-9-29) 使用方法
· 悉尼单身聚会之最 (2006-10-3) maggie · 四年前,在西藏的那场梦 (2010-9-1) aying0122
Advertisement
Advertisement
楼主:zn7726

我一定是渣, 虚心向程序员帝们请教, 开发中如果避免使用debugger -- 请KA娃和yuba务必发言 [复制链接]

发表于 2010-10-19 14:26 |显示全部楼层

回复 26# 的帖子

此文章由 小马识途 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小马识途 所有!转贴必须注明作者、出处和本声明,并保持内容完整
debugger当然比看log更容易,我的意思是不能过于依赖于这个。有一些问题甚至不能在开发环境下再现的,这个时候就只能靠log。
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-19 14:26 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
越說也邪乎了。。。

2007 年度奖章获得者

发表于 2010-10-19 14:27 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
其实我也不经常用debug,除非是有非常难调的bug,看log也没与头绪,才会起debug一步一步看代码执行情况。

如果没有bug,开debug干啥。那么慢

发表于 2010-10-19 14:27 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-10-19 15:13 发表


你觉得分析日志比用debugger看更容易? 你也说了, 没有debugger才会看日志, 不是吗?

更正你一下, 这里没人吵架. 讨论的就是"系统开发中"使用debugger的问题. ...


prod的确很多公司不允许debug,只能靠log分析,所以在写log时候,写context非常非常重要,比如error message, call stack,request, server variables.

我们team的back end guys没事就从500 error的email里面找exception来fix,debug js就简单多了.

个人觉得开发环境下用debug还是非常值得鼓励的。

发表于 2010-10-19 14:28 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Debug人人都用,但是不一定是狂按F几那种。

有的时候可以在心中Debug,尤其是那种线程问题,只能这么搞。


原来Ka娃也用debugger的? 看来你以前发言有点误导晚辈了

原来用debugger不是什么丢人的事, 大家散了吧.

发表于 2010-10-19 14:29 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大家都忙别的去吧, 已经越说越远了.
Advertisement
Advertisement

发表于 2010-10-19 14:30 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-10-19 15:28 发表


原来Ka娃也用debugger的? 看来你以前发言有点误导晚辈了

原来用debugger不是什么丢人的事, 大家散了吧.

我基本不用IDE的debugger,除非遇到别人写的复杂混乱的代码,实在看不懂。

我之前说的是Debug,一种方法

发表于 2010-10-19 14:31 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
multi-thread很难debug,容易出很tricky的错,这是为什么很多人不提倡用multi threading的重要原因之一,天才developer不算。

发表于 2010-10-19 14:33 |显示全部楼层
此文章由 yuba 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yuba 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-10-19 15:26 发表
仔细研究了半天你的话, 你的意思是说, 既然知道debugger慢, 就尽量别用, 对吧?


我说的是debug模式开销大,机器慢就要命

发表于 2010-10-19 14:33 |显示全部楼层
此文章由 PotatoChips 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 PotatoChips 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-10-19 15:30 发表

我基本不用IDE的debugger,除非遇到别人写的复杂混乱的代码,实在看不懂。

我之前说的是Debug,一种方法

System.out.println

评分

参与人数 2积分 +4 收起 理由
realfenglin + 2 还真有“同行”!
kawara + 2 你真聪明

查看全部评分

2010年度奖章获得者

发表于 2010-10-19 14:36 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我這才明白, 原來debug是一種生活態度
Advertisement
Advertisement

发表于 2010-10-19 14:37 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我這才明白, 原來debug是一種生活態度

kao... 你是人才呀.

我去继续研究SSD了

发表于 2010-10-19 14:42 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
熟悉了软件CODE,自己猜错误,比DEBUG更愉快。
system.out.println 更舒服。

不熟悉的软件CODE, 也只好找点工具帮帮忙了。

BTW: 就去宠物版逛了一会,想说的话,就被人先说了。。时间就是足迹的分啊!

[ 本帖最后由 realfenglin 于 2010-10-19 15:44 编辑 ]

发表于 2010-10-19 14:46 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
代码里写那么多 system.out.println, release的时候还得删掉, 多啰嗦呀. 还是踏踏实实log4j或者debugger吧.

有一次js里面的alert()忘了删, 被客户看到, 很囧的, 幸好是客户的QA环境里

发表于 2010-10-19 14:51 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
log4j好用。
但是,觉得有的时候不那么直接了当。
删除SYSTEM.OUT.PRINTLN, 好办。用ANT, 凡是改动的CODE在编译的时候,提醒之后,自己删除就是了

[ 本帖最后由 realfenglin 于 2010-10-19 16:26 编辑 ]

发表于 2010-10-19 14:59 |显示全部楼层
此文章由 PotatoChips 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 PotatoChips 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 realfenglin 于 2010-10-19 15:51 发表
log4j好用。
但是,觉得有的时候不那么直接了当。
删除SYSTEM.OUT.PRINTLN, 好办。用ANT, 凡是改动的CODE在编译的时候,提醒就是了

同意,我也只用System.out.println
Advertisement
Advertisement

发表于 2010-10-19 15:00 |显示全部楼层
此文章由 rumcoke 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rumcoke 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我写j2ee web application的 我们的log4j用的多过debugger
这个主要是我们的team lead比较喜欢看log

发表于 2010-10-19 15:00 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
.net方便很多。

debug.write works in debug build
trace.write works both in debug and release build.

发表于 2010-10-19 15:02 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-10-19 16:00 发表
.net方便很多。

debug.write works in debug build
trace.write works both in debug and release build.


“万恶”的NET
总是千方百计把我往他那里引。。。。

发表于 2010-10-19 15:03 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 zn7726 于 2010-10-19 15:46 发表
代码里写那么多 system.out.println, release的时候还得删掉, 多啰嗦呀. 还是踏踏实实log4j或者debugger吧.

有一次js里面的alert()忘了删, 被客户看到, 很囧的, 幸好是客户的QA环境里 ...



log4net(counter part in .net world for log4j)用在小project还好,大project有concurrency issue, 已经被stackoverflow这样的规模的网站弃用了。

不知道log4j是不是存在同样的问题。

发表于 2010-10-19 15:04 |显示全部楼层
此文章由 zn7726 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zn7726 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这帖我不管了, 留给你们自由发挥去吧.

用ant删除system.out.println怎么弄, 楼上熊猫大大给讲讲?
Advertisement
Advertisement

发表于 2010-10-19 15:16 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-10-19 15:31 发表
multi-thread很难debug,容易出很tricky的错,这是为什么很多人不提倡用multi threading的重要原因之一,天才developer不算。

没有那么难吧。概念清楚就可以。程序不是多线程的话,不能充分发挥现代CPU的性能。

我有一段时间加工一个batch程序,横跨整个产品的,把它变成多线程,好利用多核CPU。最后下来速度提高了1.5倍。

最难的一个线程安全错误,整整看了七天,最后还是数对象数出来的,结果问题代码是在一个Jar里,我以为是三方库,没看。

发表于 2010-10-19 15:19 |显示全部楼层
此文章由 PotatoChips 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 PotatoChips 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-10-19 16:16 发表

没有那么难吧。概念清楚就可以。程序不是多线程的话,不能充分发挥现代CPU的性能。

我有一段时间加工一个batch程序,横跨整个产品的,把它变成多线程,好利用多核CPU。最后下来速度提高了1.5倍。

最难的一个线程安全错误, ...

Accenture的batch?:o

发表于 2010-10-19 15:20 |显示全部楼层

回复 51# 的帖子

此文章由 小马识途 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小马识途 所有!转贴必须注明作者、出处和本声明,并保持内容完整
同问,真不知道ant还能干这个

发表于 2010-10-19 15:26 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 小马识途 于 2010-10-19 16:20 发表
同问,真不知道ant还能干这个


楼上都误会了。俺是说可以提醒在编译前修改的代码文件数目之类的。东西还是要DELETE删除。
高人太多,以后还是少发话。

2010年度奖章获得者

发表于 2010-10-19 15:28 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
ant 當然能幹, scan through all code base the wipe out all the specific lines. then recompile.

不通過很不推薦。

你因該用 compiler的mode來執行默寫程序。 你可以讓一些代碼之在debug mode下執行。
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

2010年度奖章获得者

发表于 2010-10-19 15:30 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
像system.out.println之類,你跟本就不該checkin。

臨時自己看一看就算了, 一定要立馬自行刪掉。

评分

参与人数 1积分 +2 收起 理由
kawara + 2 Agree

查看全部评分

发表于 2010-10-19 15:33 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kawara 于 2010-10-19 16:16 发表

没有那么难吧。概念清楚就可以。程序不是多线程的话,不能充分发挥现代CPU的性能。

我有一段时间加工一个batch程序,横跨整个产品的,把它变成多线程,好利用多核CPU。最后下来速度提高了1.5倍。

最难的一个线程安全错误, ...


在.net的概念里multi threading不会用multi core的,因为他们share同一个heap,只不过不同的stack.

.net 4.0可以用多cpu,但不是multi threading的范畴了。

java可能和.net在这个问题上实现不同。

[ 本帖最后由 乱码 于 2010-10-19 22:08 编辑 ]

发表于 2010-10-19 15:33 |显示全部楼层
此文章由 realfenglin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 realfenglin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-10-19 16:28 发表
ant 當然能幹, scan through all code base the wipe out all the specific lines. then recompile.

不通過很不推薦。

你因該用 compiler的mode來執行默寫程序。 你可以讓一些代碼之在debug mode下執行。 ...


恩,但是想他们说的让ANT 自己自动去删除CODE里面添加的特定的部分代码,曾经尝试过。似乎比较麻烦。于是,只是达到了提醒修改代码,然后自己IDE下删除了。

一般2个JAR: 一个JAR, 一个JAR-DEBUG. JAR-DEBUG里面有比较好的测试输出内容。

JAR-DEBUG用来编译测试。测试完了,删除,COMPILE得到JAR. 之后SVN CHECKIN

[ 本帖最后由 realfenglin 于 2010-10-19 16:39 编辑 ]

发表于 2010-10-19 15:34 |显示全部楼层
此文章由 yuba 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yuba 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-8-23 22:49 发表
A programmer spends about 10-20% of his time writing code, and most programmers write about 10-12 lines of code per day that goes into the final product, regardless of their skill level. Good programmers spend much of the other 90% thinking, researching, and experimenting to find the best design. Bad programmers spend much of that 90% debugging code by randomly making changes and seeing if they work.


这样的debugging尽量别干

绝大多数的情况还是机器等人

评分

参与人数 1积分 +1 收起 理由
dalaohu + 1 我要收稿費了

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部