এইচপিআরএফ ফাইলটি খোলার সময় ত্রুটি: আইওএক্সেপশন: অজানা এইচপিআরএফ সংস্করণ


121

Debug.dumpHprofDataমেমরি বিশ্লেষক দ্বারা এইচপিআরএফ ফাইল (দ্বারা নির্মিত ) খোলার চেষ্টা করার সময় আমি নিম্নলিখিত ব্যতিক্রম পাচ্ছি :

java.io.IOException: Unknown HPROF Version (JAVA PROFILE 1.0.3)
at org.eclipse.mat.hprof.AbstractParser.readVersion(AbstractParser.java:124)
at org.eclipse.mat.hprof.Pass1Parser.read(Pass1Parser.java:69)
at org.eclipse.mat.hprof.HprofIndexBuilder.fill(HprofIndexBuilder.java:65)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:203)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:114)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:143)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:123)
at org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDumpJob.java:56)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

আমি কীভাবে এটি সমাধান করব?


উইন্ডোজ পদ্ধতিতে আপনি এই পোস্টে সহায়ক হতে পারে stackoverflow.com/questions/14168485/...
— sivi

উত্তর:


298

hprofঅ্যান্ড্রয়েড থেকে আপনি যে ফাইলটি পেয়েছেন তার অ্যান্ড্রয়েড নির্দিষ্ট ফর্ম্যাট রয়েছে। আপনার hprofঅ্যান্ড্রয়েড ওএস থেকে নেওয়া ফাইলটিকে স্ট্যান্ডার্ড hprofফর্ম্যাটে রূপান্তর করা উচিত । এর জন্য আপনি hprof-convযে সরঞ্জামটি অবস্থিত তা ব্যবহার করতে পারেন AndroidSDK/tools/hprof-conv।

উদাহরণ স্বরূপ:

hprof-conv android.hprof mat.hprof

এবং তারপরে মেমরি বিশ্লেষকটিতে mat.hprof খুলুন।

সম্পাদনা করুন: এইচআরফোফ-কুন AndroidSDK/platform-tools/কিছু বান্ডিলের মধ্যে থাকতে পারে ।


6
@ ইনাজারুক এইচআরফিউফ-কুন্পটি ডাম্প বোতামটি ক্লিক করার সময় স্বয়ংক্রিয়ভাবে চালিত হত, আমি নিশ্চিত নই যে
— এডিটির

1
@ স্মিথ 234, ডিডিএমএসের বোতামটির ক্ষেত্রে এটি সত্য হতে পারে। তবে কখন Debug.dumpHprofData() রূপান্তরটি ম্যানুয়ালি করা উচিত।
— ইনাজারুক

তবুও আমি সরঞ্জাম ডিরেক্টরিতে 'অনুমতি অস্বীকার' ত্রুটি পাচ্ছিলাম। এটি কাজ করার জন্য আমাকে সেই ডিরেক্টরিতে অনুমতি চাইডম করতে হয়েছিল।
— ইগোরগানাপলস্কি

টাইপো: এমএটির সর্বশেষ সংস্করণটির জন্য ফাইলের নাম এক্সটেনশনটি এইচপিওফের হতে হবে, উপরের উদাহরণের মতো এইচপিওফ নয়।
— greg7gkb

10
কেবল একটি মাথা উঁচু করে, আমার এইচআরফুফ-কুন্ডটি এসডিকে \ প্ল্যাটফর্ম-সরঞ্জামগুলির অধীনে ছিল যদি কেউ
— এসডিকে

41

আপনি যদি Eclipse ব্যবহার করছেন তবে কেবল নিম্নলিখিতটি পরিবর্তন করুন:

  1. পছন্দগুলি খুলুন (উইন্ডো মেনু থেকে)
  2. অ্যান্ড্রয়েড-> ডিডিএমএসে নেভিগেট করুন
  3. এইচপিআরএফ ক্রিয়াটি "গ্রহণায় খুলুন" এ পরিবর্তন করুন

উইন্ডোজ 7 64 বিট-এ, আমি hprof-convসরঞ্জাম ব্যবহার করে রূপান্তর করতে পারিনি , এটি কিছুই ছিল না। সুতরাং আপনার পদ্ধতি চেষ্টা করে দেখুন! গ্রহন করার জন্য আমার কেবল এমএটি ইনস্টল করা উচিত এবং এটি এখন পুরোপুরি কার্যকরভাবে কাজ করে। ধন্যবাদ
— পলিয়াস ভিঞ্জজিগেলস্কিস

3
এটি ব্যাখ্যা করে আপডেট করা ভাল হতে পারে যে ব্যবহারকারীর প্রথমেগ্রহণের পছন্দগুলি খুলতে হবে এবং তারপরে বাম হাতের মেনু থেকে Android নির্বাচন করা উচিত
— মিক

1
লুনায় আমাকে ম্যাট নিজেই ইনস্টল করতে হবে: সহায়তা-> নতুন সফ্টওয়্যার ইনস্টল করুন: download.eclipse.org/mat/1.4/update-site
— joecks

আমার Eclipse Mars 2 (4.5.2) (Win 10) "ওপরে ইক্লিপস" ইতিমধ্যে সেট করা আছে এবং এমএটি ইনস্টল করা আছে, তবুও আমি এখনও "অজানা এইচপিআরএফ সংস্করণ" ত্রুটি পেয়েছি। আমাকে "এইচপিআরএফ" -র সাহায্যে ফাইলটি রূপান্তর করতে হয়েছিল।
— নেফ

7

hprof-conv সরঞ্জামের অবস্থান পরিবর্তন হয়েছে।

এটি এখন অবস্থিত AndroidSDK/platform-tools/hprof-conv

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.