.NET রানটাইমে অভ্যন্তরীণ ত্রুটিগুলি কীভাবে সমাধান করবেন


6

বেশ কয়েক সপ্তাহ আগে আমার সংস্থার ল্যাপটপে কিছু অদ্ভুত সমস্যা শুরু হয়েছিল। আমি আর মাইক্রোসফ্ট বিকাশকারী ওয়েব সার্ভার আর চালু করতে পারিনি (ভিজ্যুয়াল স্টুডিও-> ডিবাগের মাধ্যমে)। আমি পরে আবিষ্কার করেছি যে আমি কোনও .NET অ্যাপ্লিকেশন চালাতে পারি না।

আমার ডিএমপি ফাইলগুলি পর্যালোচনা করার পরে মাইক্রোসফ্ট সিএলআর বিশেষজ্ঞের সাথে কথা বলতে গিয়ে তিনি ড

  1. যখন আপনার প্রক্রিয়াতে লোড করা হয় তখন .exe ফাইলগুলিতে অফসেটে 0 × 168 এ 8 বাইট সেট করা হয় This এটি সিএলআর ব্যর্থ হওয়ার কারণ এটি issue এই বিটগুলি আপনি আমাকে যে ফাইল সরবরাহ করেছেন সেটিতে সঠিকভাবে সেট করা আছে।

  2. সি: \ উইন্ডোজ \ সিস্টেম 32 \ ডেটুরড.ডিএল প্রক্রিয়াটিতে লোড হয়। এটি আমার কাছে বোঝায় যে এই প্রক্রিয়াগুলির আচরণটি পরিবর্তন করতে আপনার মেশিনে ডিটর্স লাইব্রেরি ব্যবহৃত হচ্ছে।

আমি এও বুঝতে পেরেছি যে আমি যখন নিরাপদ মোডে বুট করি তখন সমস্ত কিছুই কার্যকর হয়।

এছাড়াও, আমি বুঝতে পেরেছি যে আমি যদি একটি .NET এক্সিকিউটেবলের উপর ডান ক্লিক করি এবং "চলুন হিসাবে" চয়ন করে এবং বর্তমানে আমার ব্যবহারকারীর শংসাপত্রগুলি প্রবেশ করে প্রবেশ করি, তবে অ্যাপ্লিকেশনটি কাজ করে। এটি ঠিক কাজ করে না, যদি আমি অ্যাপটিতে কেবল ডাবল ক্লিক করি।

সিস্টেম ইভেন্টের বার্তা এবং ডঃ ওয়াটসন টাইপের ত্রুটি রয়েছে। আমি যে কয়েকটি পেয়েছি তা এখানে:

ভিজ্যুয়াল স্টুডিওতে আসা থেকে এমএস বিকাশকারী ওয়েব সার্ভার চালু করার সময়, বার্তা বাক্স পপ-আপ বলে:

WebDev.WebServer40.exe has encountered a problem and needs
to close. We are sorry for the inconvenience.

VSHost সিস্টেম ইভেন্ট লগ এন্ট্রি:

Event 1:
Application: MyWebSite.vshost.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error
in the .NET Runtime at IP 791A8BBD (79140000) with exit code 80131506.

Event 2:
Faulting application MyWebSite.vshost.exe, version 10.0.30319.1, 
stamp 4ba2084b, faulting module clr.dll, version 4.0.30319.1, 
stamp 4ba1d9ef, debug? 0, fault address 0x00068bbd.

তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি চালনার জন্য সিস্টেম ইভেন্ট লগ এন্ট্রি:

Source: Application Popup
Description: Application popup: #APPNAME#.exe – Application Error : The 
application failed to initialize properly (0xc000007b). Click on OK 
to terminate the application.

আমি যে অ্যাপ্লিকেশনগুলি তৈরি করেছি সেগুলি NET v4 ফ্রেমওয়ার্ক সিস্টেম ইভেন্টের লগগুলি ব্যবহার করে:

Source: .NET Runtime
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error in the 
.NET Runtime at IP 791A8BBD (7914000) with exit code 80131506.

আমি যে অ্যাপ্লিকেশনগুলি তৈরি করেছি সেগুলি NET v2 ফ্রেমওয়ার্ক সিস্টেম ইভেন্টের লগগুলি ব্যবহার করে:

Source: .NET Runtime
Description: .NET Runtime version 2.0.50727.3053 – Fatal Execution 
Engine Error (7A097706) (80131506)

আমার ব্লগে আরও বিশদ এখানে - আমি এ পর্যন্ত চেষ্টা করেছি এমন সমস্ত কিছু এবং আরও বিশদ এবং বিবরণ সহ।

পুনরুদ্ধার পয়েন্টগুলি যতদূর যায়, আমার প্রাচীনতম পুনরুদ্ধার পয়েন্টটি কয়েক সপ্তাহ আগে, যেখানে আমার এখনও এই সমস্যাটি ছিল, তাই আমি মনে করি না যে পয়েন্টটি পুনরুদ্ধার করা খুব বেশি সাহায্য করবে।

কোন প্রক্রিয়াটি সমস্যার সৃষ্টি করছে তা আমি কীভাবে সনাক্ত করব এবং তারপরে কম্পিউটারটি ঠিক করতে পারি?


1
আপনার সিস্টেমে চলমান সমস্ত চলমান প্রক্রিয়া এবং সমস্ত পরিষেবাদির একটি তালিকা আছে? অ্যাপ্লিকেশন ক্র্যাশ হওয়ার সময় আপনি সমস্ত লোড করা .dll ফাইলগুলি দেখতে প্রসেস এক্সপ্লোরার ব্যবহার করেন, সেই তালিকাটিও কার্যকর হবে। যেহেতু সেফমোড সূক্ষ্মভাবে চলে, তাই এমন একটি ড্রাইভার বা প্রক্রিয়া রয়েছে যা আপনার। নেট অ্যাপ্লিকেশনগুলিতে কোড ইনজেকশন দেয় যা সাধারণত স্টার্টআপে লোড হয়।
ডারথ অ্যান্ড্রয়েড

আমি প্রতিটি পরিষেবা দিয়ে গিয়েছিলাম এবং বন্ধ করে দিয়েছি এবং আমি উইন্ডোজ রিবুট না করেই করতে পারি এমন প্রতিটি প্রক্রিয়া মেরে ফেলেছি এবং এখনও আমার একই সমস্যা রয়েছে। যদি এটি একটি ব্যাকগ্রাউন্ড পরিষেবা বা প্রক্রিয়া হয় তবে আমি এটি টাস্ক ম্যানেজার, প্রক্রিয়া এক্সপ্লোরার বা উইন্ডোজ পরিষেবাদির মাধ্যমে খুঁজে পাই না।
জিম ডব্লিউ

আপনি এটি অটোরাস ব্যবহার করে এটি সন্ধান করতে পারেন: এটি শেল এক্সটেনশন, পরিষেবা বা কোনও কোডেকও হতে পারে।
harrymc

উত্তর:


3

যেহেতু আপনি বলছেন যে সমস্যাটি নিরাপদ মোডে ঘটে না তাই এটি স্পষ্ট যে এটি কোনও ইনস্টলড অ্যাপ্লিকেশন, অ্যাড-অন বা ড্রাইভারের কারণে হয়েছে is

আপনি ইতিমধ্যে এই প্রকল্পে বিনিয়োগ করেছেন এমন প্রচেষ্টা বিবেচনা করে, আমি হার্ড ডিস্কটি পুনরায় ফর্ম্যাট এবং এক্সপি পুনরায় ইনস্টল করার পরামর্শ দিই, তারপরে সমস্যাটি ফিরে এসেছে কিনা তা যাচাই করতে পুনরায় বুট করে সমস্ত পণ্য পুনরায় ইনস্টল করুন। বিকল্পভাবে, আপনি রেভো আনইনস্টলার ব্যবহার করে পণ্যগুলি আনইনস্টল করতে পারেন, তবে রেভো এমনকি একটি বিশেষভাবে স্নিগ্ধ ইনস্টলেশনটি মিস করতে পারে।

সত্যি বলতে গেলে, চালু করার সময় এক্সিকিউটেবল ফাইলগুলিতে কোনও ভাইরাল সংক্রমণের গন্ধ পাওয়া যায়, এ কারণেই আমি ব্যতিক্রমীভাবে এই ক্ষেত্রে পুনরায় ফর্ম্যাট করার পরামর্শ দিই।


আশ্চর্যের বিষয় হ'ল আমি যখন "রান হিসাবে" ব্যবহার করি এবং আমার একই ক্রেডিট ব্যবহার করি তখন সবকিছু ঠিকঠাক কাজ করে। এছাড়াও, এটি কেবলমাত্র নেট অ্যাপগুলিতেই ঘটছে। আমি নিশ্চিত না যে আমি কেবলমাত্র সমস্ত কিছু পুনরায় ফর্ম্যাট করতে পারি, কারণ এটি কর্পোরেট ল্যাপটপটি সমস্ত কর্পোরেট অ্যাপ্লিকেশন ইনস্টল করা আছে।
জিম ডাব্লু

একটি কর্পোরেট কম্পিউটার সাধারণত একটি প্রাথমিক ছবিতে পুনরুদ্ধার করা যায়। রানএগুলি কার্যকরভাবে বিস্মিত হচ্ছে, যেহেতু এক্সপির ভিস্তা ও উইন 7 এর মতো সীমিত অ্যাকাউন্ট নেই। বৈধ অ্যাপ্লিকেশনটিতে থাকা বাগের জন্য ভাইরাসের চেয়ে বেশি ক্ষতি হওয়া সর্বদা সম্ভব। এই ক্ষেত্রে এটি সম্ভবত কিছু সুরক্ষা পণ্য হবে, কারণ এগুলি অদ্ভুত কাজ করে। আপনি এগুলি অক্ষম করার চেষ্টা করে দেখতে পারেন।
harrymc

আমি পুনরায় ফর্ম্যাট বিকল্পটিতে ফিরে যাওয়া ঘৃণা করি। যদি আবার এটি ঘটে তবে আমি এটি খুঁজে বের করতে চাই। তবে আমাকে কেবল বলা হয়েছিল যে আমার ল্যাপটপের কর্পোরেট লিজের মেয়াদ শেষ হয়ে গেছে এবং যাইহোক আমার একটি নতুন ল্যাপটপ নেওয়া দরকার। দেখে মনে হচ্ছে এটি এখন একমাত্র বিকল্প যা কাজ করে।
জিম ডব্লিউ

ভাল, ভাল riddance!
harrymc

0

আপনার উত্তরটি প্রথম অনুচ্ছেদে থাকতে পারে - ডিটোরস সরান। প্রোগ্রামগুলি অ্যাড / রিমুভ এ যান, ডিটোরস সন্ধান করুন এবং এটি সরান।

চারপাশে: http://research.microsoft.com/en-us/projects/detours/


চারপাশে ইনস্টল করা নেই। এটি উইনএক্সপি-র অংশ হিসাবে সিস্টেম 32 ডিরেক্টরিতে এবং ভিজুয়াল স্টুডিও, ডঃ ওয়াটসন, ইত্যাদি সহ মাইক্রোসফ্টের বিভিন্ন পণ্য ব্যবহার করে আমি এটিকে অপসারণ করার চেষ্টা করেছি এবং এটি অন্যান্য অ্যাপ্লিকেশনগুলির আরও ক্র্যাশ ঘটায় এবং সমস্যাটি সমাধান করেনি। এই লিঙ্কটি অন্য অ্যাপ্লিকেশনগুলির জন্য লাইব্রেরি হিসাবে প্রয়োজন হয়, ঘুরে ঘুরে ব্যবহার করার জন্য।
জিম ডাব্লু

@ জিম ডাব্লু: ডিটর্সগুলি উইন্ডোজ এক্সপির অংশ নয়, এবং এটি ভিজ্যুয়াল স্টুডিওতে আসে না। "ডিটোরস হ'ল x86, x64, এবং আইএ 64 মেশিনে স্বেচ্ছাসেবী উইন 32 ফাংশন ইনস্ট্রুমেন্ট করার জন্য একটি গ্রন্থাগার target <- আপনার প্রথম উদ্ধৃত অনুচ্ছেদটি বলে যে এটি আপনার সমস্যার কারণ।
মার্ক অ্যালেন

আমি ইতিমধ্যে detour.dll অপসারণের চেষ্টা করেছি (ফাইলটির নাম পরিবর্তন করে) এবং এখনও আমার একই সমস্যা রয়েছে (আরও বেশি সমস্যা)।
জিম ডব্লিউ

@ জিম ডাব্লু: ডার্ন, দুঃখিত যে সাহায্য করেনি। এটি যদি আমার মেশিন হয় এবং এটির সমাধান করার জন্য আমার এক হতে হত তবে আমার পরবর্তী পদক্ষেপটি হবে। নেট পুনরায় বুট করা এবং তারপরে পুনরায় ইনস্টল করা। নেট আবার। শুভকামনা।
মার্ক অ্যালেন

1
@ জিম ডাব্লু: আচ্ছা, ডাং যেহেতু এটি নিরাপদ মোডে কাজ করে এবং আপনি যদি কিছু অদ্ভুত কারণে আবার প্রমাণীকরণ করেন তবে এটি কাজ করে ... আপনি যদি একই মেশিনে সম্পূর্ণ নতুন ব্যবহারকারী তৈরি করেন, সেই ব্যবহারকারী হিসাবে লগ ইন করেন এবং প্রোগ্রাম চালানোর চেষ্টা করেন তা কি কাজ করে?
মার্ক অ্যালেন

0

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

আপনি উইন্ডোজের ডিবাগিং সরঞ্জামগুলি থেকে WinDbg ব্যবহার করার চেষ্টা করতে পারেন । (এই লিঙ্কটি ড্রাইভার বিকাশকারীদের জন্য, তবে আমি .NET প্রোগ্রামগুলির জন্য WinDbg ব্যবহার করেছি)) সর্বাধিক ডিবাগিং আউটপুট পেতে আপনার এক্সপির জন্য উইন্ডোজ সিম্বল প্যাকেজও প্রয়োজন need

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