我試圖用OpenOffice Java API替換OpenOffice文檔中的字段。我使用的是insertString
方法:如何找到com.sun.star.uno.RuntimeException的真正原因?
xText.insertString(((XTextField) fieldMaster).getAnchor(), value.toString(), false);
堆棧跟蹤如下:
[junit] com.sun.star.uno.RuntimeException:
[junit] at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182)
[junit] at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
[junit] at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344)
[junit] at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313)
[junit] at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101)
[junit] at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
[junit] at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
[junit] at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
[junit] at $Proxy14.insertString(Unknown Source)
...
如果我解釋這個正確的,它告訴我它連接到不同的理線從Java的東西在其他程序失敗,但它並不告訴我問題是什麼。
我發現有一些環境變量(PROT_REMOTE ...)可以讓我從這些遠程(不同進程,同一臺計算機,btw)進程記錄消息,但只有在啓用調試時運行OpenOffice版本?
我在Ubuntu上使用Deb庫中的OpenOffice版本,並且有興趣編譯我自己的OpenOffice版本。
有沒有什麼辦法可以從遠程過程中獲得一些有用的錯誤消息,以幫助我理解爲什麼我的代碼失敗?
下面是否有其他任何堆棧跟蹤部分? – 2009-02-18 04:03:22