1
我有一個名爲的Hello World程序A.class。它是使用命令javac A.java
編譯的。它只是打印「hello world」。如何讓Java編譯器在編譯代碼中生成行號碼
接下來,我編譯使用javac -g A.java
。我期待看到行號,但看不到。任何想法發生了什麼?
我確實看到javac編譯的.class文件和javac -g編譯的某些特殊字符之間的細微差異。但我看不到任何行號。
我對此的好奇心是因爲我想找到哪種影響線數可能會對性能產生影響。其次,我想知道log4j等如何維護日誌記錄的行號。謝謝。
-g用於生成調試信息。類文件是字節碼,不是人類可讀的。您可以使用javap反彙編一個類文件。 – OldProgrammer
您是否真的將'.class'文件的內容粘貼到問題中?你真的做到了嗎?如果我可能會問,爲什麼你做了兩次? –
第一個是用javac。第二個是用javac -g <<<編譯的。注意「g」。沒有行號! Javap是偉大的,但仍然沒有行號! –