2017-07-07 48 views
0

我正在嘗試使用G-WAN網絡服務器。所以我在CLASSPATH中添加了一個「.jar」應用程序,以便從java servlet中調用它。 代碼正在運行,但無法捕獲異常,並且應用程序崩潰。 下面你可以找到輸出:G-WAN:將.jar應用程序添加到CLASSPATH中:「嘗試不捕捉異常」

'import site' failed; use -v for traceback 
ptrace: Operation not permitted. 
No frame selected. 



Signal  : 11:Address not mapped to object 
Signal src : 1:. 
errno   : 0 
Thread  : 2 
Code Pointer: 7f22eda66ac7 module:libjvm.so function:Arena::set_size_in_bytes(unsigned long) line:0 
Access Address: 000000000020 

回答

0

,你能否證實,如果G-WAN的Java例子是擺在首位(即使有異常處理)運行良好?

如果是這樣,您的加載.jar是開始的地方 - 或者JVM從G-WAN的servlet加載它的方式。

這顯然是一個JVM類加載器的問題,但調查將需要使用完全相同的.jar和設置,並挖掘到JVM內部。

+0

親愛的,我在G-WAN Java示例「hello.java」中添加了一個異常。但我得到了同樣的錯誤。更新hello.java: import api.Gwan; import org.mainpackage。*; 公共類您好//類名必須符合劇本*的.java文件名 { 公共靜態INT jmain(長ENV,字串[] args){ \t嘗試{ \t INT testig = 100; \t}趕上(例外五){ \t \t的System.out.println( 「處理異常」); \t \t Gwan.xbufCat(Gwan.getReply(ENV), 「你好,Java的異常處理!」); \t} return 200; } } – solange

+0

輸出:輸出: '導入網站'失敗;使用-v進行回溯 ptrace:不允許操作。 未選擇框架。 信號:11:地址沒有被映射到對象 信號SRC:1 :. 錯誤號:0 螺紋:1 代碼指針:7fb2c640eac7模塊:libjvm.so功能:競技場:: set_size_in_bytes(無符號長整數)線:0 訪問地址:000000000020 寄存器:EAX = 000000c9e3a8 CS = 00000033 EIP = 7fb2c640eac7 EFLGS = 000000010206 EBX = 7fb2abff9f90 SS = ffffffff ESP = 7fb2abffa250 EBP = 7fb2abffa290 ECX = 7fb250000030 DS = ffffffff ESI = 0000000003d8 FS = 00000033 EDX = 7fb250001710 ES = ffffffff – solange