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


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.