2012-05-04 10 views
5

में चलाएं/डीबग ओएसजीआई एप्लिकेशन हमारे ऐप ओएसजीआई में माइग्रेट हो गया है, लेकिन मुझे ग्रहण में इसे शुरू/डिबग करने में परेशानी है। प्रक्रिया क्या है: ओएसजीआई एप्लिकेशन डेवलपर को विषुव पर्यावरण स्थापित करने की उम्मीद है, सैकड़ों बंडल इंस्टॉल करें (जार = बंडल?), और कंसोल से शुरू करें? दूसरे शब्दों में, "मॉड्यूलर-चुनौतीपूर्ण" से अलग "हॉट-प्लग-गिफ्ट" एप्लिकेशन लॉन्च कर रहा है?ग्रहण

माध्यमिक, अधिक ठोस सवाल। एक बूटस्ट्रैप बंडल जो सब कुछ का ख्याल रखना माना जाता है नहीं है, लेकिन कक्षाओं की लोडिंग गुच्छा के बाद यह धीमा और कम से लगभग लटकी हुई है:

... 
... 
... 
Flat profile of 0.22 secs (16 total ticks): main 

    Interpreted + native Method       
16.7%  1 +  0 java.awt.Toolkit.addAWTEventLi[Loaded java.awt.SentEvent from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
stener 
16.7%  1 +  0 jav[Loaded java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
a.util.regex.Pattern.compile 
16.7%  1 +  0 sun.util.logging.PlatformLogger.<init> 
50.0%  3 +  0 Total interpreted 

    Thread-local ticks: 
62.5% 10    Blocked (of total) 
50.0%  3    Class loader 

... 
... 
... 
[Loaded sun.reflect.Label$PatchInfo from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
[Loaded sun.reflect.MethodAccessorGenerator$1 from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
[Loaded sun.reflect.ClassDefiner from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
[Loaded sun.reflect.ClassDefiner$1 from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
[Loaded sun.reflect.GeneratedMethodAccessor1 from __JVM_DefineClass__] 
[Dynamic-linking native method sun.java2d.DefaultDisposerRecord.invokeNativeDispose ... JNI] 
[Dynamic-linking native method java.lang.ref.Finalizer.invokeFinalizeMethod ... JNI] 

संपादित करें: प्रगति की एक छोटी सी के बाद से प्रश्न पोस्ट

[Loaded sun.reflect.GeneratedMethodAccessor1 from __JVM_DefineClass__] 
[Dynamic-linking native method sun.java2d.DefaultDisposerRecord.invokeNativeDispose ... JNI] 
[Dynamic-linking native method java.lang.ref.Finalizer.invokeFinalizeMethod ... JNI] 
--- new stuff --- 
[Loaded sun.awt.windows.WComponentPeer$2 from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar] 
[Dynamic-linking native method sun.awt.windows.WInputMethod.disableNativeIME ... JNI] 

इस प्रकार यह एक डेडलॉक नहीं है, जो इसे इतनी उत्तेजित कर सकता है?

उत्तर

4

ग्रहण में लॉन्चिंग और डिबगिंग काफी हद तक स्पष्ट होना चाहिए। चाल (मेरे विचार में) यह महसूस करना है कि आपको आवश्यक सभी ग्रहण समर्थन 'ओएसजीआई' के बजाय 'प्लग-इन' लेबल किया गया है। आपको आवश्यक सभी बाहरी बंडलों के साथ एक लक्षित प्लेटफ़ॉर्म सेट अप करें - आप उन्हें केवल निर्देशिका में डंप कर सकते हैं और फिर उस फ़ोल्डर में लक्ष्य प्लेटफ़ॉर्म कॉन्फ़िगरेटर को इंगित कर सकते हैं। लक्षित प्लेटफ़ॉर्म कॉन्फ़िगरेशन प्राथमिकता-> प्लग-इन विकास-> लक्ष्य प्लेटफ़ॉर्म के अंतर्गत है। आप लक्ष्य मंच को .target फ़ाइल के रूप में साझा कर सकते हैं। एक अच्छा लक्ष्य मंच होने से दोनों चलने और संकलन में मदद मिलती है।

अपने बंडलों को चलाने के लिए, राइट क्लिक करें और -> ओएसजीआई फ्रेमवर्क (या डीबग के रूप में) चुनें। आप रनटाइम कॉन्फ़िगरेशन में कौन से बंडल शामिल हैं, और किस तर्क का उपयोग किया जाता है, आप ट्विक कर सकते हैं। उदाहरण के लिए आप -console जोड़ना चाहते हैं। आप निर्यात के लिए एक आवेदन भी बना सकते हैं, जो आपको config.ini फ़ाइल देगा। एक बार आपके पास config.ini हो, तो आपके बंडल इक्विनोक्स स्टार्टअप पर पूर्व-स्थापित हो जाएंगे।