一件程序员必备武器的诞生

一件程序员必备武器的诞生

图1/6

作者 | 刘欣

责编 | 伍杏玲

本文经授权转载自码农翻身(ID:coderising)

夜已深,但是Java第一代国王却无心睡眠,帝国刚刚建立,东边的C/C++王国虎视眈眈,随时准备把新生的王国扼杀在摇篮中。

今日GUI大臣上奏,说帝国子民抱怨运行速度慢,这一点Java国王也没有好办法,解释执行嘛,肯定比不上编译好的程序,不过Java国王已经下令去研发HotSpot了,等到儿子即位就会大有改观。

这怎么能行?程序不能调试,相当于瘸了一条腿啊!这将严重影响新生Java帝国的找Bug事业。

调试的基础

第二天早朝,眼圈发黑的国王把JVM大臣怒斥了一顿,勒令他马上把调试这一块给搞好。

JVM大臣非常委屈:“陛下,当初我们在设计Class文件的字节码的时候,就考虑到了调试的需求,Java文件编译成class文件以后,其中有个叫做LineNumberTable的区域,它描述了Java源代码和字节码行号(字节码偏移量)之间的对应关系,有了它,我们才能加断点调试啊!”

推荐阅读