গ্রহন - ডিবাগার ব্রেকপয়েন্টে থামে না


98

আমি একটি ইউনাইটকে গুলি করার চেষ্টা করছি। উত্স কোডে, আমি দুটি স্থানে ব্রেক পয়েন্ট স্থাপন করেছি: 1) একটি লাইনে যেখানে কোনও স্থির সদস্যের সূচনা হয় 2) পরীক্ষার ক্ষেত্রে কোনওটির প্রথম লাইন।

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

কোন সাহায্যের ব্যাপকভাবে প্রশংসা হবে।

আমি Eclipse গ্যালিলিও এবং JUnit4 লঞ্চার ব্যবহার করছি।


4
আপনার কোডটি .g ক্লাস ফাইলে ডিবাগ তথ্য উত্পন্ন করতে -g বিকল্পের সাথে সংকলিতটি চালু আছে? অবশ্যই এটি প্রয়োজন।
duffymo

হ্যাঁ এটি -g বিকল্পের সাথে সংকলিত।
রায়

আপনি JUnit এবং JRE এর কোন সংস্করণ ব্যবহার করছেন সে সম্পর্কেও আপনি তথ্য যুক্ত করতে পারেন? আমি বিশ্বাস করি যে এই প্রসঙ্গে সহায়ক।
ভিনিত রেনল্ডস

ব্যবহৃত জেডিকে উপায় দ্বারা আরও গুরুত্বপূর্ণ (এমন কিছু জেদী জেডিকে রয়েছে যা এর কারণ হতে পারে)। অনুগ্রহ করে JUnit সংস্করণে ক্যোয়ারী উপেক্ষা করুন।
ভিনিত রেনল্ডস

দুঃখিত আমি এটি অন্তর্ভুক্ত করা উচিত ছিল। জেডিকে 1.6 আপডেট 14.
রায়

উত্তর:


39

এটি JDK 6 আপডেট 14 এর যে কোনও বাগের সাথে সম্পর্কিত হতে পারে , যেমনটি JDK 6 আপডেট 15 এর প্রকাশিত নোটগুলিতে নির্দেশিত হয়েছে

যদি এটি সত্যিই সমস্যা হিসাবে দেখা দেয় তবে আপনার জেডিকে উচ্চতর সংস্করণে স্থানান্তর করা উচিত ( এটির কোনও গ্যারান্টি নেই, যেহেতু 6u16, 6u18 এবং 7 বি 1 এর বিরুদ্ধে ফিক্সগুলি প্রকাশ করা হয়েছে )। সেরা বাজি হ'ল -XX ব্যবহার করুন: + ইউজপ্যারেঞ্জেলজিসি পতাকা। সর্বনিম্ন এবং সর্বোচ্চ গাদা আকারের আকার বাড়ানো, প্রথম জিসিকে দেরি করতে, অস্থায়ী ত্রাণ আনুন।

যাইহোক, অন্যরা কীভাবে বহন করছে তা ট্র্যাক করতে এই বাগ রিপোর্টটি Eclipse এ ব্যবহার করুন ।


4
আমি জেডিকে 1.6 আপডেট 16 এ আপগ্রেড করেছি Now এখন এটি আমার সেট করা সমস্ত ব্রেক পয়েন্টে থামে। আপনার সাহায্যের জন্য অসংখ্য ধন্যবাদ.
রায়

আপনাকে স্বাগতম. u16 রিলিজ বলে মনে হচ্ছে যেখানে u15 এর রিলিজ নোট সত্ত্বেও এটি যথেষ্ট পরিমাণে স্থির করা হয়েছিল।
ভিনিত রেনল্ডস

ধন্যবাদ @ ভিনিত - আমি এই একের উপরে আমার চুলগুলি টানছিলাম :-)
জিম গ্যারিসন

@ ভিনিটরেইনল্ডস: আমি আপনার মূল্যবান উত্তরগুলি Jboss এবং জাভা E6 এর সাথে সম্পর্কিত দেখেছি 6.. আপনি কি এই সমস্যাটি চিহ্নিত করতে আমাকে সহায়তা করতে পারেন? stackoverflow.com/questions/28954323/…
মস্তিষ্ক ঝড়

99

ফিক্স রান ক্লিক করা / সমস্ত ব্রেকপয়েন্টগুলিকে এড়িয়ে যাওয়ার মতো সহজ হতে পারে। আমার জন্য কাজ করেছেন।


4
আমাকে দেখতে তিন দিন সময় লেগেছিল যে আমি কোনওরকম ক্লিক করেছি
হেনরি

4
ধন্যবাদ ... নিশ্চয়ই কোনওরকম দুর্ঘটনার দ্বারা সেই টুলবার আইকনটি ক্লিক করা উচিত :
পি

4
ধন্যবাদ ... কখন ক্লিক করা হবে সে সম্পর্কে কোনও ধারণা নেই
njfife 21

4
তোমাকে অনেক ধন্যবাদ. অন্যান্য ব্যবহারকারীর জন্য, এই পরিস্থিতিতে যদি আপনি ব্রেকআপপয়েন্ট করেন তবে এটি কমিয়ে দেবে।
সৌরহাইটগুলি

আমার ক্ষেত্রেও তাই হয়েছিল। আমি কখনই ক্লিক করিনি ... !! সংস্করণ: মঙ্গল রিলিজ (4.5.0) আইডি তৈরি করুন: 20150621-1200
Beezer

52

রান> ডিবাগ কনফিগারেশনের অধীনে নিশ্চিত হয়ে নিন যে আপনার অবস্থার ক্ষেত্রে প্রযোজ্য হলে 'স্টপ ইন মেন' নির্বাচন করা হয়েছে।


4
পোস্ট করার আগে দয়া করে পূর্ববর্তী প্রতিক্রিয়াগুলি পড়তে ভুলবেন না। সমস্যাটি তাদের jvm সংস্করণ ছিল .. এবং তিন বছর আগে এটি সমাধান হয়েছিল। আপনার প্রতিক্রিয়া উল্লেখযোগ্য কিছু অবদান না দিলে পুরানো থ্রেডগুলিকে পুনরুদ্ধার না করা সেরা, এটি ইতিমধ্যে পূর্ববর্তী উত্তরে coveredাকা হয়নি।
লেইগ

6
ধন্যবাদ আপনার উত্তর উত্তরদাতা আমার সমস্যার সমাধান করেছেন এটি আশ্চর্যজনক যে "স্টপ ইন মেন" আনসেট ছিল।
ইউ শেন

25
দেখা যাচ্ছে যে তার উত্তরটি এমন গুরুত্বপূর্ণ কিছু অবদান রেখেছে যা ইতিমধ্যে পূর্ববর্তী উত্তরে আবৃত ছিল না :)
স্কুবো

দ্রষ্টব্য, এটি জাভা অ্যাপ্লিকেশনগুলির জন্য একটি বিকল্প তবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন নয়।
নুমেনন

21

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

গ্রহনটি পুনরায় চালু করা, সমস্ত প্রকল্প পরিষ্কার করুন এবং পুনর্নির্মাণ সবকিছুই পরিষ্কার করে দেয়। আমার মাভেন প্লাগিনগুলিও ছিল (পুরানো সংস্করণগুলি ... এটি কিছু সময়ের জন্য ছিল না) এটি করারও ঝোঁক ছিল।

অন্যথায় এটি একটি বাগ হতে পারে, সম্ভবত একটি ভিণীতে বলেছে,

আশাকরি এটা সাহায্য করবে


হ্যাঁ, আপনি যা বলেছিলেন তা আইডিইতে বেশি ঘটে যা কোডগুলি স্বয়ংক্রিয়ভাবে পুনরায় সংকলন করে না। ওরাকল জেডিফলারকে (ব্যক্তিগত অভিজ্ঞতা থেকে) এবং কিছুটা কম পরিমাণে (নেটবিয়ানস) চাওয়া পাওয়া গেছে।
ভিনিত রেনল্ডস

4
সদুপদেশ. যথেষ্ট বলা হয়নি। কখনও কখনও আমরা সমস্যাটিকে ওভার-ভেবে দেখি এবং এটি কেবল সিস্টেমের সংযোগের বাইরে চলে যায়। যেমন সহজ সমস্যা শ্যুটিংয়ের জন্য কম্পিউটার রিবুট করার সাথে রয়েছে।
Xonatron

ধন্যবাদ, আমার ক্ষেত্রে এটাই সমস্যা ছিল। এটি নির্বোধ শোনায়, তবে একটি বিল্ড পরে একটি সাধারণ পরিষ্কার এবং F5 কাজটি করেছে।
jfajunior

20

আপনি দুর্ঘটনাক্রমে Eclipse সরঞ্জামদণ্ডে সমস্ত ব্রেক পয়েন্ট এড়িয়ে যেতে পারেন। এটি ঠিক করতে Eclipse -> চালান -> সমস্ত ব্রেকপয়েন্টে এড়িয়ে যান।


4
আরগ, এটির জন্যও একটি শর্টকাট রয়েছে, আমি সম্ভবত সম্ভবত মেনু আইটেমটি সনাক্ত করে না, তবে আমি সম্ভবত সিআরটিএল + আল্ট + বিতে আঘাত পেয়েছি। যাইহোক, ধন্যবাদ.
পাত্রু

3

প্রকল্প -> ক্লিন মনে হয়েছিল জেআরই 8-এ আমার জন্য কাজ করবে


2

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


2

আমার ক্ষেত্রে সমস্যাটি হ'ল আমি ডিবাগের দৃষ্টিকোণে ডেবগ ভিউটি খোলা ছিল না, তাই:

1 - আপনি ডিবাগের দৃষ্টিভঙ্গি খুলেছেন তা নিশ্চিত হন:

গ্রহন ডিবাগার কাজ করছে না 1

2 - আপনি ডিবাগ ভিউটি খোলার বিষয়ে নিশ্চিত হন:

গ্রহন ডিবাগার কাজ করছে না 2



1

জেডিকে 7 এর জন্য, চালান-> ডিবাগ কনফিগারেশনগুলি, "ডিবাগ করার সময় পরীক্ষার পরে জুনিট চালিয়ে যান" পরীক্ষা করুন।


1

একবার আমার সাথে ঘটেছিল, যখন আমি "চালান> স্বয়ংক্রিয়ভাবে বিল্ড" পরীক্ষা না করে এটিকে আবার যাচাই করতে ভুলে গিয়েছিলাম।


1

আপনি প্যাকেজটি শীর্ষে ঘোষণা করেছেন তা নিশ্চিত করুন। আমার গ্রুভি কোডে এটি ব্রেকপয়েন্টগুলিতে থামবে:

package Pkg1

import java.awt.event.ItemEvent;

isMule = false

class LineItem {
    // Structure defining individual DB rows
    public String ACCOUNT_CODE
    public String ACCOUNT_DESC
...

এটি ব্রেকপয়েন্টগুলিতে থামবে না:

import java.awt.event.ItemEvent;

isMule = false

class LineItem {
    // Structure defining individual DB rows
    public String ACCOUNT_CODE
    public String ACCOUNT_DESC
...

অনেক লড়াই করার পরে আমার সমস্যাটি সমাধান করুন। ধন্যবাদ +1
ফেডেরিকো পিয়াজা

0

ব্রেকপয়েন্টগুলি সরাতে :

  1. জুনিট পরীক্ষা হিসাবে আপনার ক্লাসটি ডিবাগ করুন
  2. আপনার ডিবাগারটি থামলে, "ভেরিয়েবল" এবং "এক্সপ্রেশন" এর পাশে "ব্রেকপয়েন্টস" ট্যাবটি ক্লিক করুন
  3. ব্রেকপয়েন্ট পয়েন্টের উপরের ডানদিকে দুটি 'এক্স' দিয়ে বোতামটি টিপুন
  4. পরীক্ষা বন্ধ করুন, আপনার ব্রেকপয়েন্টটি প্রতিস্থাপন করুন এবং আবার ডিবাগারটি চালান

0

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


0

যদি কিছুই কাজ করে না-

  1. সেই দূরবর্তী / স্থানীয় ডিবাগ কনফিগারেশনটি সরান এবং একটি নতুন তৈরি করুন।
  2. ডিবাগ কনফিগারেশনে উত্স যুক্ত করুন।

0

আর একটি সম্ভাব্য সমস্যা হ'ল ডিবাগার পোর্টটি ফায়ারওয়াল দ্বারা ব্লক করা হতে পারে। উদাহরণস্বরূপ, আমি খচ্চর যে কোনও বিন্দু স্টুডিও ব্যবহার করছিলাম (v 5.4.3)। ডিফল্ট ডিবাগার পোর্টটি 66 6666। A একটি প্রবাহ কার্যকর হলে এটি ব্রেকপয়েন্টে থামবে না। যখন আমি বন্দরটি অন্যটিতে পরিবর্তন করেছি (উদাঃ 8099), এটি দুর্দান্ত কাজ করেছিল।


0

যান Right click->Debug Configurationএবং পরীক্ষা করুন যে খুব বেশি ডিবাগ উদাহরণ তৈরি হয়েছে। আমি কনফিগারেশন থেকে একাধিক ডিবাগ উদাহরণ মুছে ফেলে এবং নতুনভাবে ডিবাগ করা শুরু করলে আমার সমস্যাটি সমাধান হয়ে গেছে।


0

আপনি যদি গ্রহগ্রহে থাকেন,

"প্যাকেজ এক্সপ্লোরার" এর অধীনে আপনার প্রকল্প ফোল্ডারে ডান ক্লিক করুন।

গোটো উত্স -> আপনার প্রকল্পটি পরিষ্কার করুন এবং চয়ন করুন।

এটি কোনও ঝামেলা পরিষ্কার করবে এবং আপনার ব্রেক-পয়েন্টটি এখনই কাজ করা উচিত।



0

আমার ক্ষেত্রে একই কর্মক্ষেত্রে আমার একাধিক প্রকল্প ছিল। আমি যে জাভা ফাইলটি ডিবাগ করার চেষ্টা করছিলাম সেটি একই প্যাকেজ সহ একাধিক প্রকল্পে উপস্থিত ছিল।

আমার অন্য প্রকল্পের দরকার নেই, তাই অনাবিলিক প্রকল্পগুলি কেবল বন্ধ করে দেওয়া হয়েছে (বা সম্পর্কযুক্ত প্রকল্প থেকে ফাইলটি সরিয়ে ফেলুন)।


0

ভিনিত রেনল্ডসের উত্তর সম্পর্কিত একটি অতিরিক্ত মন্তব্য।

আমি জানতে পেরেছি যে আমাকে সেট আপ করতে -XX:+UseParallelGCহয়েছিলeclipse.ini

আমি নিম্নলিখিত হিসাবে ভার্চুয়াল মেশিন (ভিএম) আর্গুমেন্ট সেটআপ করি

-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms512m
-Xmx1024m
-XX:+UseParallelGC
-XX:PermSize=256M
-XX:MaxPermSize=512M

যে সমস্যা সমাধান।


-2

এটি আমার জন্য কাজ করে কি না:

আমাকে আমার স্থানীয় সার্ভারের ঠিকানাটি পিএইচপি সার্ভারের কনফিগারেশনে এইভাবে রাখতে হয়েছিল :

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য : সেই ঠিকানাটি, আমিই আমার অ্যাপাচি .কনফ ফাইলটিতে কনফিগার করেছি ।

বিঃদ্রঃ : একমাত্র ব্রেকপয়েন্ট যা কাজ করছিল তা ছিল 'ব্রেক এ প্রথম লাইনে', তার পরে, ব্রেকপয়েন্টগুলি কাজ করে না।

দ্রষ্টব্য : আপনার php.ini ফাইলে আপনার xdebug বৈশিষ্ট্যগুলি পরীক্ষা করে দেখুন এবং আপনার যে কোনও প্রয়োজন নেই তা মুছে ফেলুন।


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