2012-02-17 5 views
6

उद्देश्य-सी में ट्रैक करना आसान होगा, लेकिन जावा में मैंने सोचा था कि इस तरह की चीज असंभव थी। जो त्रुटि मैं देख रहा हूं वह है:गैर-गठबंधन सूचक को जावा में मुक्त किया जा रहा है?

java(7198,0x124a13000) malloc: *** error for object 0x1003109c1: Non-aligned pointer being freed 
*** set a breakpoint in malloc_error_break to debug 

मैं जावा में इस प्रकार का ब्रेकपॉइंट कैसे सेट करूं? या, मैं प्रश्न में वस्तु को कैसे ट्रैक करूं? वह स्मृति पता हैशकोड नहीं है, है ना?

+0

मुझे लगता है कि आप जावा से सी संकलित कर रहे हैं, और फिर बाइनरी में। आप किस कंपाइलर का उपयोग कर रहे हैं? क्या होता है जब आप अपने जावा कोड को सामान्य जावा बाइटकोड में संकलित करते हैं, और इसे JVM पर चलाते हैं? –

+0

यह मानक जेवीएम का उपयोग कर ग्रहण के भीतर सभी 100% मानक सामान है। यह शायद CoreMIDI ड्राइवर है ... –

+0

धन्यवाद @AlexD, मैंने इसे ट्रैक किया। यह एक मूल पुस्तकालय था (एप्पल द्वारा प्रदान की गई, विडंबनात्मक/दुखी)। –

उत्तर

5

आप जावा में इस तरह की चीजें डीबग नहीं करते हैं, क्योंकि यह या तो स्वयं JVM में या कुछ दुष्ट मूल पुस्तकालय में एक बग लगता है।

+0

हां, यह एक दुष्ट पुस्तकालय है: ओएसएक्स पर कोरएमआईडीआई कार्यान्वयन। Http://www.humatic.de/htools/mmj.htm पर स्विचिंग समस्या को हल करता है। तो, हाँ, जावा के भीतर से तय करने के लिए कुछ नहीं। –

संबंधित मुद्दे