সহজেই পুনরুত্পাদনযোগ্য নয় এবং কেবল উত্পাদন পরিবেশে ঘটে যাওয়া ব্যতিক্রমগুলি কীভাবে আমি ডিবাগ করব?


9

আমি এমন একটি বিষয়ে কাজ করছি যেখানে ব্যতিক্রম কেবল আমাদের উত্পাদন পরিবেশে ঘটে। এই পরিবেশগুলিতে আমার অ্যাক্সেস নেই, বা এই ব্যতিক্রমটির অর্থ কী তাও আমি জানি না। ত্রুটির বর্ণনার দিকে তাকিয়ে, আমি কারণটি বুঝতে পারি না।

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

কেউ দয়া করে আমাকে কীভাবে এই ধরণের সমস্যায় পৌঁছানোর পরামর্শ দিবেন?


4
এটিকে কি স্ট্যাকওভারফ্লোতে স্থানান্তরিত করা উচিত? আমি মনে করি আপনি সেখানে আরও প্রতিক্রিয়া পাবেন।
DXM

10
একটি শব্দ: লগিং।
কোয়ান্ট_দেব

1
@ ডিএক্সএম - এটি সাধারণভাবে স্ট্যাক ওভারফ্লো হিসাবে প্রকাশিত হবে না। ওপি একটি নির্দিষ্ট সমাধানের চেয়ে কৌশল এবং কৌশলগুলির পরে is যদি ব্যর্থ হওয়া কোডটি অন্তর্ভুক্ত করা হয় তবে সম্ভবত এটি স্ট্যাক ওভারফ্লোতে কাজ করতে পারে।
ChrisF

আমার অভিজ্ঞতা হিসাবে, এর মতো বেশিরভাগ সমস্যা সুরক্ষা কনফিগারেশন সংক্রান্ত সমস্যা থেকে উদ্ভূত হয় এবং এটি বের করা কঠিন can অন্যরা যেমন উল্লেখ করেছে, ভাল লগিং এটি প্রকাশ করতে সহায়তা করবে।
jfrankcarr

উত্তর:


18

সাধারণভাবে, আরও ভাল ডিবাগ লগিং। আপনি কী জানতে চান তা বের করুন, এটিকে কোডটিতে যুক্ত করুন এবং লগগুলিতে এটি রাখুন যাতে আপনি এটি কার্যকর করতে পারেন। সেই সময়ে পরিবেশের আরও বিশদ ক্যাপচার করাও সহায়তা করে - কোন অনুরোধ, কখন, ইত্যাদি help

সুনির্দিষ্টভাবে, আমি ক্লায়েন্টগুলিতে এটির জন্য একটি সাধারণ প্যাটার্নটি সন্ধান করব - এবং যদি আপনি কোনওটিকে অনুকূলিত করে খুঁজে পান - তবে তারপরে গিয়ে টিসিপি স্তর ট্র্যাফিক ক্যাপচার করুন।

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

গাইড হিসাবে, আমি অনুমান করব যে এটি তিনটি জিনিসের একটি থেকে এসেছে:

  1. এমন কিছু যা এসএসএল নয় এসএসএল পোর্টের সাথে কথা বলে। (পোর্ট স্ক্যানগুলি সাধারণ, তবে এইচটিটিপিএস থেকে এইচটিপিএস পোর্টেও ঘটে))
  2. ক্লায়েন্ট সার্ভারের সাথে সিফারগুলির একটি গ্রহণযোগ্য সেট ভাগ করে না।
  3. ক্লায়েন্ট একটি শংসাপত্র অফার করে, এবং সার্ভারটিতে হিজি-ফিট রয়েছে। (অবিচ্ছিন্ন, তবে সম্ভব।)

1
হতে পারে সার্ভার স্ব-স্বাক্ষরিত সার্টিফিকেট সরবরাহ করে বা কোনও সিএ দ্বারা স্বাক্ষরিত যা ক্লায়েন্ট জানে / বিশ্বাস করে না
কার্লোস ক্যাম্পার্ডার

আমি মনে করি যে আমি যখন তিন পক্ষের মধ্যে একটির শংসাপত্রের মেয়াদ শেষ হয়ে গেছে তখন আমি তিনটি ঘটতে দেখেছি।
হতাশ

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

আপনার পরামর্শের জন্য সমস্ত ধন্যবাদ। আমি নিশ্চিত একটি উত্পাদন বাগ সমাধান করার জন্য ব্যবহারিক উপায় আছে।
C4CodeE4Exe

4

আমি একটি কনফিগারযোগ্য সর্বোচ্চ লগ স্তর সহ লগিং কৌশল ব্যবহার করার পরামর্শ দেব। লোগোজেজে ( http://logging.apache.org/log4j/ , http://en.wikedia.org/wiki/Log4j ) এর মতো একটি ইউটিলিটি কাজটি করতে পারে।

কনফিগারযোগ্য লগ স্তর (বা ভার্বোসিটি) সম্ভবত আপনার সফ্টওয়্যারটিকে পুনরায় স্থাপন না করেই কোনও ত্রুটির কারণ খুঁজে পেতে সক্ষম হওয়া গুরুত্বপূর্ণ to

ত্রুটিটি সনাক্ত করার জন্য যদি এই জাতীয় কৌশলটি পর্যাপ্ত না হয়, তবে আপনার সাথে যোগাযোগ করা অ্যাপ্লিকেশনগুলির দ্বারা উত্পাদিত লগগুলি কীভাবে উত্পাদন / পড়তে হবে তা সন্ধান করার চেষ্টা করুন।

আপনি ইমেল দ্বারা ত্রুটি সম্পর্কে স্বয়ংক্রিয়ভাবে আরও তথ্য পেতে কিছু ব্যবস্থা প্রয়োগ করতে পারেন।

আরও সাধারণভাবে, আপনি ইন্সট্রুমেন্টেশন সম্পর্কে কিছু নিবন্ধ পড়তে পারেন, এটি লগিং এবং ট্রেসিং সহ একটি বৃহত বিষয় topic

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