WinDbg এ এসওএস লোড করতে অক্ষম


132

পটভূমি: আমি উইনডিবিজি-তে নতুন এবং এটি প্রথমবারের মতো চালানোর চেষ্টা করছি। আমি উইন্ডোজ সার্ভার ২০০৮ (x86) এর আইআইএস in এ হোস্ট করা একটি চলমান এএসপি.এনইটি 4 সাইট থেকে নেওয়া এবং আমার স্থানীয় মেশিনে ডাউনলোড করে একটি মেমরি ডাম্প পরীক্ষা করতে চাই।

আমি ডিবাগিং সরঞ্জামগুলি ইনস্টল করেছি এবং প্রথমবারের মতো ক্র্যাশ ডাম্প খুলে WinDbg চালু করেছি। আমি ফাইল | প্রতীক ফাইল পাথ এবং পথটি সেট করে *srv*c:\symbols*http://msdl.microsoft.com/download/symbols*এবং সমস্ত প্রতীকটি লোড হওয়ার জন্য অপেক্ষা করেছিল।

এসওএস লোড করার চেষ্টা করার সময় আমি সমস্যার মধ্যে পড়েছিলাম। প্রথমে, আমি নিম্নলিখিত কমান্ডটি চেষ্টা করেছিলাম ...

.loadby sos mscorwks

... এবং প্রতিক্রিয়া পেয়েছি Unable to find module 'mscorwks'

ওয়েবে ঝাঁকুনির পরে, আমি নিম্নলিখিত কমান্ডটি সম্পাদন করে এমস্করওয়াকগুলি লোড করার চেষ্টা করেছি ...

sxe ld mscorwks.dll
g

... এবং প্রতিক্রিয়াটি পেয়েছে "" জি 'তে কোনও চালানোযোগ্য ডিবাজি ত্রুটি নেই "

আমি এসওএস.ডিএলএলকে (সি: \ উইন্ডোজ \ মাইক্রোসফট.নেট \ ফ্রেমওয়ার্ক \ v4.0.30319) অনুলিবি ডিগ্রি ডিরেক্টরিতে অনুলিপি করেছি, তারপরে চেষ্টা করেছি ...

.load sos

... এবং ত্রুটিটি পেয়েছে ...

The call to LoadLibrary(sos) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.

কীভাবে এগিয়ে যাব আমি নিশ্চিত নই। আমি কেবল এসওএস লোড করতে এবং এই ডাম্প ফাইলটির চারপাশে খনন করতে চাই। কোন সাহায্যের ব্যাপকভাবে প্রশংসা হবে।

Fyi ... আমি উইন্ডোজ 7 এর 64-বিট সংস্করণ সহ উইন্ডোজ 7 এর একটি 64-বিট সংস্করণে ডাম্প ফাইলটি খোলার চেষ্টা করছি।

উত্তর:


203

সিএলআর রানটাইম dll clr.dll.NET 4 এর সাথে নতুন নামকরণ করা হয়েছিল । সুতরাং এসওএসের সঠিক সংস্করণটি লোড করার জন্য আপনাকে আপনার .loadbyকমান্ড সামঞ্জস্য করতে হবে । অর্থাত

.loadby sos clr

এছাড়াও, যদি আপনি bit৪ বিটের উপরে থাকেন তবে আপনার 32 বিট অ্যাপস ডিবাগ করার জন্য উইন্ডোজের জন্য ডিবাগিং সরঞ্জামগুলির 32 বিট সংস্করণ ইনস্টল করা উচিত । তারা পাশাপাশি বসায় ইনস্টল করে, তাই একই মেশিনে 32 বিট এবং 64 বিট সংস্করণ উভয়ই রাখতে কোনও সমস্যা নেই।

আমি SOS.dll অনুলিপি করার বিরুদ্ধে পরামর্শ দেব। এসওএসের ফ্রেমওয়ার্কটির সঠিক সংস্করণটি মেলাতে হবে, সুতরাং যতক্ষণ আপনি এটি ব্যবহার করে ফ্রেমওয়ার্ক ডিরেক্টরি থেকে লোড করবেন ততক্ষণ আপনি প্রস্তুত .loadby


সর্বশেষতম ইনস্টলাররা সিপিইউ টাইপটি স্বয়ংক্রিয়ভাবে আবিষ্কার করায়, আমার সিস্টেমে উভয়ই পাওয়া চ্যালেঞ্জজনক finding আপনি কি এমএসআই-র জন্য জানেন এমন একটি ওভাররাইড পতাকা রয়েছে? আমি WinDbg এর একটি পুরানো 32 বিট সংস্করণ ইনস্টল করতে যাচ্ছি, তবে কী আশা করতে হবে তা জানি না।
ডেভ

5
@ ডেভ: সম্ভবত খুব অল্প দেরি হয়ে গেছে, তবে প্রতি ইনস্টল ওয়েব পৃষ্ঠাগুলি এখানে পাওয়া গেছে: msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx আপনি পুনরায় বিতরণযোগ্য প্যাকেজগুলি ইনস্টল করতে নির্বাচন করতে পারেন যা প্রতিটি আর্কিটেকচার সংস্করণের জন্য এমএসআই রাখে here : সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট এসডিকে \ উইন্ডোজ \ v7.1 \ পুনরায় তালিকাভুক্ত Windows উইন্ডোজের ডিবাগিং সরঞ্জামগুলি
অ্যারন লেরচ

আমি যদি বলি .loadby sos clrআমি পেয়েছি Unable to find module 'clr'। আমি ডিবাগ করার চেষ্টা করছি। নেট 4 x x WinDbg এর সাথে
তোথ

2
@ সাসাবা এটি কোনও ডাম্প না আপনি লাইভ ডিবাগিং করছেন? আপনি যদি লাইভ ডিবাগিং করেন তবে সিএলআর এখনও লোড করা যায় না। sxe ld clrসিএলআরটি লোড হয়ে যাওয়ার পরে আপনি থামতে পারেন এবং তারপরে আপনি সেই সময়ে এসওএস লোড করতে পারেন।
ব্রায়ান রাসমুসেন

@ ব্রায়ানআরসমুসেন এটি একটি সংকলন সম্পাদনযোগ্য। আমি যদি মডিউলগুলির উইন্ডোটি একবার দেখে নিই তবে এটি লোড হওয়াতে ক্লার করুন।
সিএসবা তোথ

18

WinDbg কমান্ড 'g' এর অর্থ [চালিয়ে যান]

আপনি যেহেতু ডাম্প-ফাইল খোলেন সেখানে 'চালিয়ে যাওয়ার' কোনও উপায় নেই, এতে কেবল প্রক্রিয়া স্মৃতি রয়েছে।

সুতরাং প্রক্রিয়াটি চালিত না হওয়ায় "'g' তে কোনও রানযোগ্য ডিবাজি ত্রুটি আপনার ক্ষেত্রে যৌক্তিক নয় ।

এসওএসের সঠিক সংস্করণটি লোড করার বিষয়ে .NET সংস্করণের উপর নির্ভর করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

.NET 4 এবং উচ্চতর। লোডবাই sos

.NET 3.5 এবং 2। লোডবাই সোস এমএসক্র্কস

.NET 1.0 এবং 1.1 .লোড clr10 \ sos


1

উপরের উত্তরগুলির উন্নতি প্রয়োজন, কারণ সময়ের সাথে সাথে জিনিসগুলি লোডিং পরিচালনা করা সহজ হয়ে যায়।

জন রবিনস এর চারপাশে দুর্দান্ত নিবন্ধ রয়েছে, দেখুন মাইক্রোসফ্ট প্রতীক সার্ভারগুলি প্রতীক ফাইলের পথে কনফিগার করা আছে এবং রান করুন! উইন্ডবিজি প্রম্পটে বিশ্লেষণ করুন -v, এটি কৌশলটি প্রাসঙ্গিক সোস ফাইল ডাউনলোড করবে। প্রম্পটে রান .চেইন যাচাই করতে এবং আপনি বোঝা ডিএল দেখতে পাবেন।


0

এসওএস লোড করার অনুরূপ ইস্যুটি সবেমাত্র এসেছিল এবং "নির্দিষ্ট মডিউলটি পাওয়া যায়নি" was একটি ভিন্ন সমাধান নিয়ে এসেছিল তাই যদি এখানে সমাধানগুলি আপনাকে সহায়তা না করে তবে এটি ব্যবহার করে দেখুন:

.loadby sos clr - নির্দিষ্ট মডিউলটি পাওয়া যায়নি

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