में संकलन समय पर जेआईटी का पता लगाना मैं काफी बड़े मोनो टच एप्लिकेशन के लिए एक बिल्ड सिस्टम पर काम कर रहा हूं जो बहुत सारे क्रॉस-प्लेटफार्म घटकों का उपयोग कर रहा है। नतीजतन, हम अक्सर ऐसी परिस्थिति में भाग लेते हैं जहां उनमें से एक क्रॉस-प्लेटफ़ॉर्म घटक ऐसा कुछ करता है जिसे संकलित नहीं किया जा सकता है। क्या कुछ वास्तव में निष्पादित किया जाना चाहिए, डिवाइस निर्माण दुर्घटनाग्रस्त हो जाएगा। उस समय, हमें यह पता लगाना होगा कि दुर्घटना कहाँ हुई, अपमानजनक विधि ढूंढें, और इसे हैक करें ताकि वह मोनो टच बिल्ड में जेआईटी की कोशिश न करे।मोनो टच
मेरा सवाल है, क्या निर्माण प्रक्रिया के दौरान इन चीजों का पता लगाने का कोई तरीका है? सबसे पहले, हमारे पास एक रेगेक्स था जिसने जेनेरिक आभासी तरीकों का पता लगाने की कोशिश की, लेकिन कुछ प्रकार के LINQ और लैम्बडास भी हैं जो जेआईटी के साथ भी प्रयास करेंगे, और मैं उन्हें पहचानने के लिए अपना खुद का पार्सर लिखने की कोशिश नहीं करता सब। मैंने monodis AssemblyName.dll
का उपयोग करने का प्रयास किया है, और यह मुझे बहुत सारी गायब विधि त्रुटियों को देगा, लेकिन उनमें से अधिकतर निर्दोष लगते हैं - और यदि वे नहीं थे, तो यह मुझे नहीं बताता कि कहां कहा गया संदर्भ कहां है कि मैं देख सकता हूं कि क्या किया जाना चाहिए। उस पर, कभी-कभी यह असेंबली के अंत से पहले Abort trap: 6
या Bus error: 10
के साथ दुर्घटनाग्रस्त हो जाएगा, जो काफी अनुपयोगी है। क्या कोई बेहतर तरीका है कि मैं अपनी निर्माण प्रक्रिया में जेआईटी के प्रयासों का पता लगा सकता हूं?
इस चलती लक्ष्य के बारे में ... हम इस धारणा के तहत थे कि सामान्य वर्चुअल विधियों जैसी कुछ चीजें समर्थित नहीं थीं क्योंकि वे नहीं हो सकती हैं। क्या वह कुछ बदल सकता है? हम ठीक काम कर रहे हैं जो काम करना चाहिए लेकिन नहीं; मुसीबत उन चीज़ों का ब्रह्मांड है जो कभी काम नहीं करना चाहिए। –
व्यक्तिगत रूप से मुझे नहीं पता (हर संभावनाओं को संकलित करने के अलावा) इसे कैसे हल करें (लेकिन अन्य लोग मुद्दों को देख रहे हैं। इसलिए संदेह में आप बेहतर बग रिपोर्ट भरें - बदतर मामला इसे मौजूदा एक डुप्लिकेट के रूप में बंद कर दिया जाएगा । – poupou