আপনি প্রেরণ করেছেন, আপনি একটি বিরল সেগ ত্রুটি পাবেন। পয়েন্টার চেকিং বা এটি যেতে দেওয়া?


9

আপনি প্রেরণ করেছেন, জমিদারিগুলি বন্ধ করা হয়েছে, আপনি একটি বিরল ক্র্যাশ প্রতিবেদন পেয়েছেন যা নির্দেশ করে যে আপনার কোডে নাল পয়েন্টার লঙ্ঘন হয়েছে। উন্নয়নের পরিবেশে সমস্যাটি দৃ়ভাবে ধরা পড়ত।

আপনার সমস্ত কিছুই ক্র্যাশ প্রতিবেদন, সুতরাং সমস্যাটি পুনরুত্পাদন করা অসম্ভব। ব্যাকট্র্যাস অনুসরণ করে ক্রাশটি কেন প্রথম স্থানে ঘটেছে তা সম্পর্কে কোনও ধারণা পাওয়া যায়নি।

বিকল্পগুলি: - ক্র্যাশ প্রতিরোধ করতে পয়েন্টার চেক যোগ করুন। এটি ক্রাশ প্রতিরোধ করবে, তবে এটি সম্ভবত প্রথম স্থানে কেন ঘটেছে তা আপনি এমনকি খুঁজে পাবেন না। - এটিকে উড়তে দিন, আশা করুন যে এটি পুনর্সামগ্রহের দৃশ্যের সাথে আবার ঘটবে

ধরা যাক অ্যাপ্লিকেশনটি কোনও গাইডেড মিসেল বা স্বয়ংক্রিয় ব্রেকিং সিস্টেমের জন্য নয় ...

আপনি যা পছন্দ করে নিন হবে?


যদি এটি পুনরায় তাত্ত্বিক না হয়, তবে যদি আপনি এটি সমাধান করতে চান তবে সংশ্লিষ্ট কোড ফাইলগুলি (সম্ভবত প্যাস্টবিন ডট কম) এর সাথে ক্র্যাশ প্রতিবেদনটি একসাথে পোস্ট করা সহজ হবে ...
তমারা উইজসম্যান

2
@ টমউইজ: এমনটি ভাবেন না..তাই সম্ভবত "খুব স্থানীয়" হিসাবে বন্ধ হয়ে যাবে
নবীন

@ নবীন: হতে পারে ... আমি কোনও নিয়মিত এসও দর্শনার্থী না তাই এটি একটি এসইউ-মাইন্ড মন্তব্য ছিল।
তামারা উইজসম্যান

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

উত্তর:


7

আমি দ্বিতীয় পন্থা বেছে নিয়েছি। ক্র্যাশটি সংঘটিত হওয়ার জায়গাতেই যদি NUL পয়েন্টারটি অপ্রত্যাশিত হয় তবে ক্র্যাশটি লুকানোর কোনও অর্থ নেই। বেশিরভাগ ক্ষেত্রে এই নাল পয়েন্টারটি অন্য কোনও কিছুর লক্ষণগুলির লক্ষণগুলির মধ্যে অন্যতম হবে। আমরা যদি এটি একটি NULL পয়েন্টার চেক দিয়ে আড়াল করি তবে এটি নিশ্চিত যে অন্য কিছু ভেঙে যাবে almost আমি মনে করি আপনার যদি দৃশ্যের আঁকড়ে যাওয়ার আরও ভাল সুযোগ থাকে তবে যদি আপনি এমন কোনও বিন্দু জায়গায় পরিবর্তে প্রতিবার যেখানে ক্র্যাশ হয় এমন পয়েন্টটি জানেন know


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

2
আমার মতে যদিও ব্যবহারকারী মাঝে মধ্যে ক্রাশের কারণে বিরক্ত হয়ে উঠতে পারে, তারা যদি ভুল ফল সরবরাহ করে তবে তা নজরে না যেতেই তারা সত্যিই খারাপ হবে।
নবীন

যত তাড়াতাড়ি সম্ভব ক্র্যাশ, এটি আপনাকে সমস্যাটি সন্ধান করতে সহায়তা করে এবং এটি ব্যবহারকারীকে কম ডেটা আলগা করতে সহায়তা করে
স্পুড 86

আমি কী ভুল করছি তা জানার জন্য আমি ভ্যালগ্রিন্ড ব্যবহার করতাম (বা কমপক্ষে আমি চেষ্টা করব, যে কোনও ক্ষেত্রে এটির যে কোনও সমস্যা অবশ্যই সমাধান করা উচিত) আমি আগেই এনএইউএল পয়েন্টার ধরার চেষ্টা করার জন্য অতিরিক্ত দৃ add়তা যুক্ত করব এবং ব্যবহারকারীকে এমন একটি বিল্ড চালানোর চেষ্টা করুন যা
দৃ

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

  2. দৃ add় সংস্থান যুক্ত করে এটি সমস্ত গ্রাহকের কাছে প্রেরণ করা (অর্থ এবং সময়) কত ব্যয়বহুল (যদি গ্রাহকদের একটি অংশই নতুন সংস্করণ পায় তবে বাকীগুলি চেক করা নাল সমস্যার মধ্যে পড়তে পারে)? সমস্যাটি সন্ধান করার সম্ভাবনাগুলি কী কী? আপনি যদি ত্রুটিটি ধরার আশায় কোডটিতে এলোমেলো চেক স্থাপন করেন তবে এটি একটি খারাপ অভ্যাস ...

  3. সমস্যাটি কি গ্রাহকের মেশিনে পুনরুত্পাদন করা যেতে পারে? আপনি কি সেই যন্ত্রটিতে অ্যাক্সেস পেতে পারেন? এটি সত্যই মূল্যবান হতে পারে

  4. আপনার ক্র্যাশ প্রতিবেদনগুলি পর্যালোচনা করুন এবং সরবরাহিত তথ্য দরকারী কিনা তা নিশ্চিত করুন এবং সমস্যা নির্ণয় করতে আপনাকে সহায়তা করতে পারে


2

উন্নয়নের পরিবেশে সমস্যাটি দৃ়ভাবে ধরা পড়ত।

একটি নির্দিষ্ট ক্রমে এটি ধরা পড়ে ফিক্সড করা হত তবে বর্তমান ব্যাক-ট্রেসটি কখনও ধরা পড়েনি।
ক্র্যাশ ডাম্পে কী ভুল হয়েছে তা আপনি দেখতে সক্ষম হবেন, আপনি কি প্যারামিটারগুলি পরীক্ষা করেছেন ইত্যাদি ...?

আপনি যে পরিমাণ সময় দিতে চান তার উপর ভিত্তি করে অতিরিক্ত করা যেতে পারে:

  • ক্র্যাশ ডাম্প সংরক্ষণাগারভুক্ত করুন এবং
    কোডটিতে এটি ক্র্যাশ হওয়া লাইনের একটি মন্তব্যে উল্লেখ করুন, এটি এমন কোনও ক্র্যাশ ডাম্প পরীক্ষা করে এমনটি জানতে পারে যে এটি আগে ঘটেছে ...
    [সময় ব্যয়: সংক্ষিপ্ত]

  • অতিরিক্ত চেক, লগিং, ... আপনি এটি প্রতিরোধ করতে এবং পরের বার আরও তথ্য পেতে চান।
    [সময় ব্যয়: মাঝারি]

    আপনার কোডে নাল পয়েন্টার লঙ্ঘন ঘটেছে।

  • এই লঙ্ঘন হওয়ার জন্য অ্যাপ্লিকেশনটিকে এমনভাবে কল করা অসম্ভব তা পরীক্ষা করে দেখুন
    [সময় অতিবাহিত: দীর্ঘ]


1
এই পোস্টটি সমস্যা সমাধানের পদ্ধতির বিষয়ে এতটা নয়, বরং একটি অনুমানিক পরিস্থিতিতে (যেমন সময় বরাদ্দকালে, সমস্যার উত্সটি হ্রাস করা যায়নি) পদক্ষেপের পদক্ষেপে action
MM01

2

এই দিনগুলিতে, আমি দৃ .়তা সহ জাহাজীকরণ () চালু করেছি। এটির দাম বেশি নয় এবং প্রতিকূল পরিস্থিতিতে এটি জীবনকে অনেক সহজ করে তুলতে পারে (যেমন, আপনার গ্রাহকের পরিবেশগুলি প্রায়শই আপনার দেব বা কিউএ পরিবেশের চেয়ে বেশি প্রতিকূল হয়) are

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