জাভাস্ক্রিপ্ট: ক্রোম ডিবাগার সরঞ্জামগুলিতে কীভাবে শর্তযুক্ত ব্রেক পয়েন্ট সেট করবেন


100

আমার কাছে এই সাধারণ একটি জেএস ফাইল রয়েছে যা নিয়মিতভাবে তারিখ মুদ্রণ করে।

আমি গুগল ক্রোম ডিবাগার সরঞ্জামগুলি ব্যবহার করছি (F12)

আমার প্রশ্ন হ'ল গুগল ক্রোমে শর্তযুক্ত ব্রেক পয়েন্ট নির্ধারণ করা কি সম্ভব ??

আমার কোডে, আমি একটি ব্রেক পয়েন্ট নির্ধারণ করতে চাই যদি সেকেন্ডের মান 50 এর সমান হয় ??

s = date.getSeconds();

এটি আমার উত্সটি এখানেই রয়েছে f

(এটি জাসফিডেলে কেন কাজ করছে না তা নিশ্চিত নয়)

যাইহোক আমার প্রশ্ন হ'ল ক্রোম ডিবাগার সরঞ্জামগুলিতে শর্তযুক্ত ব্রেক পয়েন্ট নির্ধারণ করা কি সম্ভব ??


1
+1 কারণ আমি জানতাম না যে এই প্রশ্নের উত্তর দেওয়ার জন্য ডকুমেন্টেশন চেক করতে যাওয়া পর্যন্ত এটি সম্ভব ছিল। ধন্যবাদ!
থেরোট

উত্তর:


141

হ্যা এটা সম্ভব.

ব্রেকপয়েন্টের চিহ্নিতকারীকে ডান ক্লিক করুন এবং "ব্রেকপয়েন্টটি সম্পাদনা করুন ..." নির্বাচন করুন সেখানে আপনি শর্তটি সেট করতে পারেন।

থেকে ব্রেকপয়েন্ট এ Chrome বিকাশকারী সরঞ্জামসমূহ developers.google.com (জোর দেওয়া খনি করুন):

দ্রষ্টব্য: আপনার সেট করা সমস্ত ব্রেকপয়েন্টগুলি ডান হাতের সাইডবারে ব্রেকপয়েন্টগুলির অধীনে উপস্থিত হবে। এন্ট্রিতে ক্লিক করা উত্স ফাইলে হাইলাইট করা লাইনে লাফ দেয়। আপনার ব্রেকআপপয়েন্ট সেট হয়ে গেলে, সেই ব্রেকপয়েন্টের জন্য শর্তসাপেক্ষ বিবৃতি সেট করতে নীল ট্যাগ ব্রেক ব্রেকপয়েন্ট সূচকটিতে ডান ক্লিক করুন । একটি অভিব্যক্তি টাইপ করুন এবং ব্রেকপয়েন্ট কেবল তখনই বিরতি দেয় যখন অবস্থাটি সত্য হয়।


ধন্যবাদ, আমি যেমনটি উল্লেখ করেছি, সম্পাদিত ব্রেক পয়েন্টটি করেছি এবং সেট করে দিলে (গুলি == 50) তবে কেন এটি সেই অবস্থাতেই থামছে না ??
পবন

2
@ প্রীতিজাইন কেবল "এস == 50" শর্তটি লিখুন (উদ্ধৃতি ব্যতীত)। যাইহোক, আমি কাজটি এখানে jsfiddle তৈরি করতে পরিচালিত: jsfiddle.net/nVpXN/6
থেরোট

6
এমনকি শুরু করতে আপনার ব্রেকপয়েন্ট যোগ করার দরকার নেই। ঠিক এখনই একটি লাইনে ডান ক্লিক করুন এবং "শর্তসাপেক্ষ ব্রেক ব্রেকপয়েন্ট যুক্ত করুন ..." ক্লিক করুন
মার্টিন ইন্ডার

2
ম্যান, এটি 2017, এবং আমি ক্রোম সম্পর্কে নতুন প্রাথমিক জিনিস শিখছি। # অসাধারণতা
কডস্মিথ

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

27

একবার দেখুন debuggerবিবৃতি । মূলত এটি উপলব্ধ যে কোনও ডিবাগার সরঞ্জামকে আহ্বান করে এবং Chrome এ এটি এমনভাবে কাজ করে যা দোভাষী কোনও ব্রেকপয়েন্টের সাথে মিলিত হয়।

আপনার কোডটি হবে:

s = date.getSeconds();
if (s == 50) {
   debugger;
}

রেফারেন্স থেকে :

[ডিবাগার] যে কোনও উপলভ্য ডিবাগিং কার্যকারিতা ডেকে আনে। যদি কোনও ডিবাগিং কার্যকারিতা উপলব্ধ না হয় তবে এই বিবৃতিটির কোনও প্রভাব নেই।


যদিও প্রকৃতপক্ষে এটি আসল প্রশ্নটি মূল প্রশ্নটির চেয়ে আরও বেশি, এবং এটি দুর্দান্ত তথ্য; আমি মনে করি আসল প্রশ্নটি ইসমাস্ক্রিপ্ট নয়, ক্রোম সরঞ্জাম সম্পর্কে ছিল। বলা হচ্ছে যে; একটি ক্যাভিয়েট রয়েছে যা যুক্ত করা উচিত: debuggerপ্রোডাকশন কোডের সমস্ত কল সরিয়ে ফেলুন । (আমি নিশ্চিত যে ডিবাগারটি প্রায় থাকলে লিটিং কোনও ত্রুটি ফেলবে, তবে যখনই বিষয়টি উত্থাপিত হবে তখন তা কল করা উপযুক্ত)।
ক্রিসপেন স্মিথ

1
আপনার ডিবাগার স্টেটমেন্টের দরকার নেই, আপনি যদি ইফের ভিতরে খালি স্টেটমেন্টও রাখতে পারেন এবং সেখানে একটি ব্রেকপয়েন্ট যোগ করতে পারেন।
ইজেক্টমেন্টে

8

আপনি এই পদক্ষেপগুলি অনুসরণ করে গুগল ক্রোমে শর্তযুক্ত ব্রেক পয়েন্ট সেট করতে পারেন:

1. ঠিক যেখানে ব্রেক করতে চান সেখানে ব্রেকপয়েন্টে ক্লিক করুন, দয়া করে চেক করুন এখানে চিত্র বর্ণনা লিখুন

2 ক্লিক করুন "শর্তাধীন ব্রেকপয়েন্ট যুক্ত করুন", একটি পাঠ্য উপস্থিত হবে, সেখানে আপনি শর্ত যুক্ত করতে পারবেন (শর্তটি সন্তুষ্ট হলে ফলাফলটি 'সত্য' হবে, অন্যথায় 'মিথ্যা'), শর্ত যুক্ত হওয়ার পরে ব্রেকপয়েন্টের রঙ কমলা হবে, chk on এখানে চিত্র বর্ণনা লিখুন

আপনি একই পৃষ্ঠাটি পুনরায় লোড করুন শর্তটি সন্তুষ্ট হলে ব্রেকপয়েন্টটি কাজ করবে তা দেখতে পাচ্ছেন এখানে চিত্র বর্ণনা লিখুন

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