গ্রহন - লাইন নম্বর বৈশিষ্ট্য হারিয়ে যাওয়ার কারণে ব্রেকপয়েন্ট ইনস্টল করতে অক্ষম


370

ব্রেকপয়েন্ট স্থাপনের চেষ্টা করার সময় আমি এই অদ্ভুত ত্রুটিটি গ্রহণ করছি E

Unable to insert breakpoint Absent Line Number Information

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


আপনি কি ক্লাস ফাইলে জাভ্যাপ-ভারবস করতে পারেন এবং তথ্যটি এখানে পেস্ট করতে পারেন? এটির কোনও লাইনের নম্বর আছে কিনা দেখুন।
z -

3
হাই yx, আমি class শ্রেণিতে ঝাঁপিয়েছি। এটি লাইন নম্বরগুলি উত্পন্ন করে
চন্দ্রজিৎ

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

6
আমার জন্য এটি একটি ভুল উপহাস ছিল, আমি দুর্ঘটনাক্রমে আমি যে ক্লাসটি পরীক্ষা করছিলাম তা ঠাট্টা করেছিলাম। কেউ এটি প্রাসঙ্গিক মনে হতে পারে।
হিপোকিতো

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

উত্তর:


227

টেরকাট .0.০ এর সাথে সংযুক্ত Eclipse 3.4.1, SUN JVM1.6.0_07 এ আমার একই ত্রুটি বার্তা ছিল (একটি ভিন্ন মেশিনে সান জেভিএম 1.6.0_16, ডিবাগ সংযোগটি সঠিকভাবে কাজ করেছে) এর সাথে ডিবাগ-মোডে চলমান)।

উইন্ডো -> পছন্দসমূহ -> জাভা -> সংকলক -> ক্লাসফিল জেনারেশন: "উত্পন্ন শ্রেণীর ফাইলে লাইন নম্বর বৈশিষ্ট্য যুক্ত করুন" চেক করা হয়েছিল। আমি একটি পরিষ্কার, recompile করেছি। আমি এটি পরীক্ষা করে নিই, পুনরায় কম্পাইল করেছিলাম, এটি পরীক্ষা করেছিলাম, পুনরায় কম্পাইল করেছিলাম। আমি নিশ্চিত করেছি যে প্রকল্পটি বিশ্বব্যাপী সেটিংস ব্যবহার করেছে। এখনও একই বার্তা।

আমি ব্যবহার করে পিঁপড়া তৈরিতে স্যুইচ করেছি

<javac srcdir="./src/java" destdir="./bin" debug="true">

তবুও, একই বার্তা।

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

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


31
উপরেরটি আমার পক্ষে কাজ করে নি। আমাকে এক্সিলিপ> ব্রেকপয়েন্টস ভিউতে 'সমস্ত ব্রেকপয়েন্টগুলি সরান' আইকনটি ক্লিক করতে হয়েছিল, তারপরে ব্রেকপয়েন্টগুলি পুনরায় যুক্ত করুন। কাজ করেছে।
ভিক ডেভিড

3
আমি অন্যান্য সমস্ত প্রকল্প বন্ধ করে দিয়েছি, সমস্ত ব্রেকপয়েন্টগুলি সরিয়ে নিয়েছি, ফাইলটিতে এলোমেলো পরিবর্তন করেছি, প্রকল্পটি পরিষ্কার করেছি, আবার ব্রেক ব্রেকটি চালু করেছি। এটি আমার পক্ষে কাজ করেছে
আলী

4
বিল্ড স্ক্রিপ্টের কাজটি যুক্ত debug="true"করে কাজ করা হয়েছে। javacant
জাস্টিন স্কাইলস

এই উত্তরটি এখনও জাভা 7 সহ উইন্ডোজ 8
64৪

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

105
  1. গ্রহন মেনুতে, উইন্ডো-> পছন্দসমূহ-> জাভা-> সংকলক যান
  2. চেকবাক্সটি চিহ্নচিহ্নমুক্ত করুন "লাইন নম্বর বৈশিষ্ট্য যুক্ত করুন ..."
  3. প্রয়োগ করুন -> হ্যাঁ ক্লিক করুন
  4. চেকবাক্সটি চিহ্নিত করুন "লাইন নম্বর বৈশিষ্ট্য যুক্ত করুন ..."
  5. আবার আবেদন করুন।
  6. ডিবাগিং খুশি

1
কৌশলটি আমার ক্ষেত্রে কার্যকর হয় না
ইউসুফ ইব্রাহিম

28

এটি আমার সমস্যাটি স্থির করেছে:

  1. উইন্ডো -> পছন্দসমূহ -> সার্ভার -> রানটাইম পরিবেশ
  2. অ্যাপাচি টমক্যাট -> সম্পাদনা করুন
  3. জেআরই এর পরিবর্তে একটি জেডিকে নির্বাচন করুন

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

এমনকি আপনার অ্যাপ্লিকেশনটি ওয়েব নয়, সমাধানটিও ঠিক আছে, এর পরিবর্তে মেক- Installed JREsডিফল্ট হয়JDKJRE
আহেমেডবিলিবি ২৮

আমি নিয়ম জানি, কিন্তু এখানে অনেক উত্তর আছে। এটি, ২০১২ সালের নভেম্বরে আমার পক্ষে কাজ করে তবে আমি মূল রানটাইম এনভায়োরিয়ামটিও পরিবর্তন করি, যা সমস্যাটি 100% সমাধান করে।
আলভার্গন

19

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

@Service("SkillService")
public class TestServiceWithoutInterface {
   public void doSomething() {
      System.out.println("Hello TestServiceWithoutInterface");
   }
}

উপরের পরিষেবাটিতে বসন্তের দ্বারা উত্পন্ন একটি ইন্টারফেস থাকবে যার ফলে "অনুপস্থিত লাইন নম্বরগুলি" রয়েছে। একটি সত্যিকারের ইন্টারফেস যুক্ত করা প্রজন্মের সমস্যার সমাধান করে:

public interface TestService {
    void doSomething();
}

@Service("SkillService")
public class TestServiceImpl implements TestService {
   public void doSomething() {
      System.out.println("Hello TestServiceImpl");
   }
}

1
"ইন্টারফেস যুক্ত" এর অর্থ কী? ফাইল এ আমদানি?
ক্যামহার্ট


14

ব্ল্যাকবেরি এসডিকে জিনিসগুলির দিক থেকে আমার কাছে এই সমস্যার উত্তর রয়েছে: কিছু কারণে, আমি কম্পাইলারটিতে যতবার অপশনগুলি পরিবর্তন করেছি, আসল অন্তর্নিহিত সেটিংস ফাইলটি পরিবর্তন হয়নি।

Org.eclipse.jdt.core.prefs নামে পরিচিত একটি ফাইলের জন্য আপনার প্রকল্পের। সেটিং ফোল্ডারে একবার দেখুন

সেখানে আপনি নিজে নিজে সেটিংস পরিবর্তন করতে পারেন:

org.eclipse.jdt.core.compiler.debug.lineNumber=generate

সম্পাদনা করুন: এরপরেও, আমি লক্ষ করেছি যে মাঝে মাঝে আমি গ্রহণ করি সতর্কতাটি উপেক্ষা করতে পারি এবং এটি এখনও প্রয়োজনীয় জায়গায় থামবে ... কুরিউসর এবং কুরিউসর ... আমি এটি যে জিনিসগুলির সাথে ডিল করতে শিখেছি তার বালতিতে রেখেছি দেব হিসাবে কাজ যখন।


8

এটি আমার পক্ষে কাজ করেছে:

  1. অধীনে Window --> Preferences --> Java --> Compiler --> Classfile Generation, সমস্ত বিকল্প হতে হবে True
  2. debug="true"বিল্ট.এক্সএমএলে তৈরি<javac> টাস্কে ।
  3. পিপড়া দ্বারা উত্পাদিত যুদ্ধ দ্বারা টমক্যাটে অ্যাপ্লিকেশন স্থাপন করুন
  4. টমকেটটি Debugমোডে পুনরায় চালু করুন

7

এটি এখনও প্রাসঙ্গিক কিনা তা জানেন না, সম্ভবত অন্য নাবিক এটি দরকারী বলে মনে করেন।

মেসেজটি উপস্থিত হয় যখন কারও ক্লাস ফাইলটি সংকলিত ডিবাগ পতাকাগুলি বন্ধ থাকে।

গ্রহনে, আপনি এটি পূর্বোক্ত বিকল্পগুলি দ্বারা চালু করতে পারেন,

উইন্ডো -> পছন্দসমূহ -> জাভা -> সংকলক -> ক্লাসফিল জেনারেশন: "উত্পন্ন শ্রেণীর ফাইলে লাইন নম্বর বৈশিষ্ট্য যুক্ত করুন"

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

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

  <javac  destdir="${build.destDir}" srcdir="${build.srcDir}" source="1.6" fork="true" target="${javac.target}" debug="on" debuglevel="lines,vars,source" deprecation="on" memoryInitialSize="512m" memoryMaximumSize="1024m" optimize="true"   >

শুভ ডিবাগিং ..

রেফ: http://doc.sumy.ua/prog/ Java/ javanut / ch16_04.htm


6

আমি এখানে প্রায় প্রতিটি সমাধান চেষ্টা করেছি এবং কোনও ভাগ্য নেই। আপনি কি "আমাকে আবার বলবেন না" ক্লিক করার চেষ্টা করেছিলেন? এটি করার পরে আমি আমার প্রোগ্রামটি পুনরায় শুরু করেছি এবং সবকিছু ঠিক আছে। গ্রহণটি আমার ব্রেকপয়েন্টে এমনভাবে আঘাত করেছিল যেন কিছুই ভুল হয়নি।

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


5

এটি নিশ্চিত হবে যে আপনি যদি ব্যবহার করছেন গ্রহণের সংস্করণ এবং প্রযুক্তি (জাভা জেডিটি, বা Aspect জাভা জন্য এজেডিটি, বা উদাহরণস্বরূপ সি ++ সিডিটি) নির্দেশ করে থাকেন তবে এটি নিশ্চিত হবে।

জাভা দিকে, আমি আপনার "কম্পাইলার অপশন থেকে চেকবক্সটি টিক" অনুমান করা বোঝায় এই

" Window --> Preferences --> Java --> Compiler --> Classfile Generation" এর অধীনে , সমস্ত ' Class file' প্রজন্মের বিকল্পগুলি সত্যতে সেট করা আছে:

  • (1) পরিবর্তনশীল বৈশিষ্ট্য যুক্ত করুন,
  • (২) অ্যাডলাইন নম্বর,
  • (3) উত্স ফাইলের নাম যুক্ত করুন,
  • (4) অব্যবহৃত স্থানীয় ভেরিয়েবল সংরক্ষণ করুন।

আপনার প্রকল্পগুলি কি কেবল বৈশ্বিক স্তরে (উইন্ডোজ পছন্দগুলি) বা প্রকল্প নির্দিষ্ট স্তরে পরীক্ষা করে আছে?

এবং আপনি কি নিশ্চিত যে ক্লাসটি খোলা হয়েছে (যার উপর আপনি ব্রেক ব্রেকপয়েন্ট সেট করার চেষ্টা করছেন):

  • আপনার উত্সগুলির মধ্যে একটি (এবং তৃতীয় পক্ষের লাইব্রেরি থেকে আসে না)
  • একটি .java, একটি না .class?

সমস্ত কিছু পরিষ্কার করার এবং সমস্ত পুনর্নির্মাণের চেষ্টা করুন, সম্ভাব্য জার বিবাদগুলির জন্য পরীক্ষা করুন ।


হাই ভনসি, আমি ইক্লিপিস গ্যানিমেড, জাভা ১.6 এ আছি হ্যাঁ আমার কাছে বিশ্বব্যাপী সেটিংস রয়েছে। আমি এটি আমার নিজের জাভা কোড লিখিততে সেট করার চেষ্টা করছি, তাই হ্যাঁ আমার কাছে। জাভা এবং। ক্লাস ফাইল রয়েছে। এবং আমি একটি ক্লাসে একটি javap করেছি। এটি লাইন নম্বরগুলি উত্পন্ন করে
চন্দ্রজিৎ

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

4

এক্সিলিপ থেকে ডিবাগিং মোডে টমক্যাটটি শুরু করার চেষ্টা করার সময় আমার এই সমস্যা হয়েছিল। আমার একটি এএনটি বিল্ড ফাইল ছিল সংকলনের যত্ন নিয়ে এবং স্থাপন করা। ডিবাগ পতাকাটি সত্যে সেট করার পরে (অন্যান্য উত্তরে উল্লিখিত) এবং অ্যাপ্লিকেশনটি পুনরায় প্রকাশের পরে এটি কার্যকর হয়েছে:

<javac srcdir="./src/java" destdir="./bin" debug="true">

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


4

jreআপনি যেটি ব্যবহার করছেন তা পরিবর্তন করার চেষ্টা করুন instead পরিবর্তে jreফোল্ডারে সেট JDKকরুন।


4

যেহেতু আমার কাছে জাভা 6 টি ভিন্ন সংস্করণ ইনস্টল করা আছে, তাই আমি যে জাভা সংস্করণটি ব্যবহার করতে চাইছিলাম তার সাথে মেলে আমার ডিফল্ট জেডিকে সম্মতি পরিবর্তন করতে হয়েছিল। ডিফল্টরূপেগ্রহণের সাথে জাভা ১. everything ব্যবহার করে সবকিছু নির্মিত / সংকলিত হওয়ার সময় জাভা 1.7 তে সংকলক সম্মতি স্তরের সেট ছিল।

তাই আমি যা করেছি তা হ'ল

  1. গ্রহন মেনুতে, উইন্ডো-> পছন্দসমূহ-> জাভা-> সংকলক যান
  2. জেডি কে কমপ্লায়েন্সের অধীনে, আমি কমপাইলার কমপ্লায়েন্স স্তরটি 1.7 থেকে 1.6 এ পরিবর্তন করেছি

এখন গ্রীকটি "ব্রেকপয়েন্ট অ্যাসেস্ট লাইন নম্বর তথ্য সন্নিবেশ করতে অক্ষম" এবং ডিবাগিং ব্রেকপয়েন্টগুলি আসলে কাজ করার বিষয়ে অভিযোগ করে না !!!


4

আর কিছুই যদি না কাজ করে তবে ডিবাগ দৃষ্টিভঙ্গিটি খুলুন, সমস্ত বিদ্যমান ব্রেকপয়েন্টগুলি সাফ করুন এবং তারপরে সেগুলি আবার সেট করুন।


3

এটি বিস্তারিতভাবে এখানে ব্যাখ্যা করা হয়েছে:

https://github.com/spring-projects/spring-ide/issues/78

কেবলমাত্র ভবিষ্যতের রেফারেন্সের জন্য, এটি উত্তরের প্রাসঙ্গিক অংশ (স্প্রিং বুট অ্যাপ্লিকেশনকে বোঝায় এমন বিষয়টিকে উপেক্ষা করুন, অন্যান্য ক্ষেত্রে প্রচুর আচরণ একই রকম হয়):

আপনি যখনই Eclipse / STS এ ব্রেকপয়েন্ট স্থাপন করেছেন, আইডিই আপনি কোনও অ্যাপ্লিকেশন চালু করলে ভিএম-তে ব্রেকপয়েন্টটি সেট করার চেষ্টা করে। আপনি যখন ডিবাগ মোডে বুট অ্যাপটি চালাবেন তখন আপনার ক্ষেত্রে এটিই ঘটে।

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

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

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

আইডিই যখন এনক্লোজিং টাইপটি লোড করে (আপনার নিয়ামক শ্রেণি নিজেই) তখন এটি লাইন ব্রেক ব্রেকপয়েন্ট সেট করার চেষ্টা করে এবং এটিতে সফল হয়। ব্রেকআপপয়েন্ট মার্কারটিতে এটি চেক মার্কারের সাথে দৃশ্যমান।

সুতরাং আপনি প্রদর্শিত ত্রুটি বার্তাটি নিরাপদে উপেক্ষা করতে পারেন। এই ত্রুটি বার্তাটি দেখাতে এড়াতে, আপনি পছন্দগুলি (জাভা -> ডিবাগ) এ যেতে পারেন এবং "লাইন নম্বর বৈশিষ্ট্যের অনুপস্থিতির কারণে ব্রেকপয়েন্টটি ইনস্টল করতে না পারলে সতর্কতা" অক্ষম করতে পারেন।


2

আমার অবস্থাও একই রকম ছিল:

  • আমি JUnit পরীক্ষা ডিবাগ করছিলাম
  • আমি মকিতোকে গুপ্তচর তৈরি করতে ব্যবহার করেছি, যেমনটি spyTask = spy(new Task())
  • আমি যে শ্রেণীর গুপ্তচরবৃত্তি করছিলাম তার ভিতরে ব্রেকপয়েন্টটি রেখেছিলাম (ভিতরে Task.java)

এই ব্রেকপয়েন্টটি প্রতিবার চালানোর সময় প্রশ্নে ত্রুটি তৈরি করে Debug As... > JUnit Test

সমস্যার সমাধানের জন্য, আমি ব্রেকপয়েন্টটি 'আপ'টিকে প্রকৃত পরীক্ষায় (টাস্কটেষ্ট.জভা ভিতরে) সরিয়ে নিয়েছি। এক্সিকিউশন বন্ধ হয়ে গেলে, আমি যেখানে ছিল সেখানে ব্রেকপয়েন্টটি আবার যুক্ত করেছিলাম, মূলত (টাস্ক.জভা ভিতরে)।

আমি এখনও একই ত্রুটি পেয়েছি তবে "ঠিক আছে" ক্লিক করার পরে ব্রেকপয়েন্টটি ঠিক কাজ করেছে।

আশা করি যে কাউকে সাহায্য করে,

-gmale


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

2

আমি জেটি সার্ভার তৈরি করার সময় এবং এএনটি দ্বারা নতুন .war ফাইলটি সংকলন করার সময় আমার একই সমস্যা হয়েছিল। আপনার আগে যেমন লেখা ছিল জাভা সংকলকটি সেট করার পরে আপনার জেডিকে / জেআর সংকলকটির একই সংস্করণ তৈরি করা উচিত এবং উদাহরণস্বরূপ জেডিকে 1.6v33, জেডকে 1.7, ....) তৈরি করা উচিত।

আমি সবকিছু করেছি এবং এখনও কাজ করছি না। সমাধানটি সংকলিত। ক্লাস ফাইলগুলি এবং জেনারেটেড ওয়ার ফাইলের টার্গেট মুছে ফেলা হয়েছিল এবং এখন এটির কাজ করছে :)


2

স্প্রিং এওপি সহ এই বার্তাটি পেয়েছেন (মনে হচ্ছে সিজিএলআইবি লাইব্রেরি থেকে এসেছে)) ক্লিক করুন উপেক্ষা করুন কাজ করে মনে হচ্ছে ঠিক আছে, আমি এখনও ডিবাগ করতে পারি।


2

আমি এই বার্তার আরও একটি কারণ খুঁজে পেয়েছি। আমি স্কালা প্রোগ্রামিং ছিল। সমাধানটি ছিল:

  1. চালান খুলুন -> ডিবাগ কনফিগারেশন
  2. মূল ট্যাবে, নীচে, "প্রয়োগ করুন" এবং "রিভার্ট" বোতামগুলির পাশে একটি পাঠ্য রয়েছে যা আপনি কোন লঞ্চারটি ব্যবহার করছেন এবং এর পাশে রয়েছে, একটি হাইপারলিংক রয়েছে যা "অন্যটি নির্বাচন করুন" বলছে। এটি একটি অদ্ভুত ইউআই উপাদান, প্রথম নজরে কার্যকর হয় না।
  3. "অন্য নির্বাচন করুন" লিঙ্কটি ব্যবহার করুন এবং "স্কালা অ্যাপ্লিকেশন (নতুন ডিবাগার) লঞ্চার" নির্বাচন করুন। অন্যটি স্কালার সাথে কাজ করছে বলে মনে হচ্ছে না।

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


2

উপরের জিনিসগুলি আমার পক্ষে কাজ করে না। সমাধানের নীচে অবশেষে কাজ করেছে। ডিবাগ কনফিগারেশন -> ক্লাসপাথ -> ব্যবহারকারীর এন্ট্রি -> (আপনি যে প্রকল্পটি ডিবাগ করতে চান তার src ফোল্ডার যুক্ত করুন))


1

টমক্যাটে মোতায়েন করা ওয়ার (একাধিক এক্লিপস প্রকল্পের নিদর্শনগুলি থেকে নির্মিত) ডিবাগ করার সময় আমারও একই সমস্যা ছিল।

আমি একটি এএনটি বিল্ড স্ক্রিপ্ট ব্যবহার করে সবকিছু নির্মাণ করছি। আপনি যদি যা করছেন এটি যদি হয় তবে নিশ্চিত হয়ে নিন যে আপনার প্রাপ্ত প্রতিটি জাভাক পিঁপড়ায় ডিবাগ = সত্য পতাকাটি সেট করা আছে। এটি আমার একমাত্র সমস্যা ছিল - আমি আশা করি এটি আপনার সমস্যার পক্ষে সহায়তা করবে!


1

আমার JBoss 7.1 এর সাথে একই ত্রুটি ছিল .. এবং আমি জেফিরোর মতোই করেছি। কেবল ত্রুটিটিকে উপেক্ষা করে আমি সাধারণভাবে ব্রেকপয়েন্টগুলি রাখতে সক্ষম হয়েছি। আমার ক্ষেত্রে আমি চিন্তিত পিঁপড়া নির্মাতা তৈরি করছিলাম এবং এটি আমার জাভাক কাজ:

<javac
        srcdir="${src.dir}"
        destdir="${build.classes.dir}" 
        includeantruntime="false" 
        debug="${debug}"
        verbose="false"
        debuglevel="lines,vars,source"
        source="1.6"
        target="1.6">

        <!-- Sppressing warning for setting an older source without bootclasspath
             (see: https://blogs.oracle.com/darcy/entry/bootclasspath_older_source) -->
        <compilerarg value="-Xlint:-options"/>

        <classpath>
            <fileset dir="${lib.dir}" includes="*.jar" />
            <fileset dir="${jboss.lib.dir}" includes="**/*.jar" />
        </classpath>

    </javac>

1

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


1

আমি যখন জুনিট এবং মকিতো ব্যবহার করেছি তখন আমি একই ত্রুটিটি অনুভব করেছি, আমি যুক্ত করতে ভুলে গিয়েছি @PrepareForTest স্থির শ্রেণীর জন্য ।

নীচে কোড যুক্ত করুন আমার সমস্যার সমাধান করেছে।

@PrepareForTest({XXXXX.class})

নিশ্চিত নয় যে এটি একই ঘটনা ছিল।


1

আমার সমস্যাটি ছিল আমার 2 জার ছিল এবং আমি এর আদেশের ভিত্তিতে অন্যটির সাথে একটিকে ওভাররাইড করার চেষ্টা করছিলাম Java Build Path => Order & Export একটিটিকে একটিগ্রহের ট্যাবে , কারণ একটি ডিবাগিংয়ের জন্য ছিল এবং অন্যটি ছিল না (ডিবাগিং জেআর ক্রমটিতে প্রথম ছিল)। যখন আমি এইভাবে এটি করেছি, আমাকে নিজেই একটি উত্স সংযুক্ত করতে হয়েছিল।

আমি নন-ডিবাগ জেআর মুছে ফেলার চেষ্টা করেছি এবং আমার \ ওয়েব-আইএনএফ \ lib in ডিরেক্টরি, পরিষ্কার, বিল্ডিং ইত্যাদিতে ডিবাগ জেআর রাখার চেষ্টা করেছি এবং এটি কার্যকর। এবার (সংযুক্ত উত্সটি সরিয়ে নিয়ে), এটি স্বয়ংক্রিয়ভাবে আমাকে কোনও সোর্স সংযুক্ত না করেই ডিবাগ কোডের মাধ্যমে নেভিগেট করতে দেয়। ব্রেকপয়েন্ট এবং ডিবাগও কাজ করেছিল।


যদি কারও এখনও সমস্যা হয় তবে আমি অন্যান্য উত্তরে উল্লিখিত এই বিশেষ সমাধানগুলিরও চেষ্টা করেছিলাম:

  • আনচেক করুন, প্রয়োগ করুন এবং পুনরায় পরীক্ষা করুন Add line number attributes...
  • org.eclipse.jdt.core.prefsঅন্য উত্তরে উল্লিখিত ম্যানুয়ালি সম্পাদনা : https://stackoverflow.com/a/31588700/1599699
  • নিশ্চিত হওয়া জেআর তৈরি করা হচ্ছিল ডিবাগ সক্ষম সহ।
  • জেডিকে কমপ্লায়েন্স স্তরটি ১.6 থেকে ১.7 এ পরিবর্তন করা হচ্ছে (এর মাধ্যমে আমি যে জেডিকে ব্যবহার করছিলাম তার সাথে মিলছে)।

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


0

জারগুলি সংকলন / নির্মাণের সময় উপরে উল্লিখিত সমস্তগুলিই করেছি - এখনও একই সমস্যা ছিল।

পরিশেষে, সার্ভার শুরু করার সময় নীচে তালিকাভুক্ত jvmarg পরিবর্তনগুলি হ'ল শেষ পর্যন্ত আমার জন্য কাজ করেছে:

1) জাভাজনেন্ট এবং বুটক্লাসপাথ সম্পর্কিত Jvm আরগগুলির একটি গুচ্ছ সরানো / মন্তব্য করেছে।

2) নিম্নলিখিত লাইনটি চালু / অ-মন্তব্য করেছে:

তারপরে যখন আমি সার্ভারটি শুরু করি তখন আমি আমার ব্রেকপয়েন্টগুলিতে আঘাত করতে সক্ষম হয়েছি। আমার সন্দেহ হয় যে জাভাজন্ট একরকমভাবে লাইন নম্বরগুলি সনাক্ত করার জন্য গ্রহকের ক্ষমতাকে হস্তক্ষেপ করছে।


0

নিম্নলিখিত পরীক্ষা করুন / করুন:

1) "উইন্ডো -> পছন্দসমূহ -> জাভা -> সংকলক -> শ্রেণিবদ্ধ জেনারেশন" এর অধীনে সমস্ত বিকল্প সত্য হতে হবে:

(1) Add variable attributes...
(2) Add line number attributes...
(3) Add source file name...
(4) Preserve unused (never read) local variables

2) আপনার প্রকল্পের। সেটিংস ফোল্ডারে, org.eclipse.jdt.core.prefs নামে একটি ফাইল সন্ধান করুন। Org.eclipse.jdt.core.compiler.debug.lineNumber = জেনারেট করুন বা সেট করুন

3) যদি ত্রুটি উইন্ডোটি এখনও উপস্থিত হয়, ত্রুটি বার্তাটি প্রদর্শন না করতে চেকবক্সটি ক্লিক করুন।

4) প্রকল্পটি পরিষ্কার এবং নির্মাণ করুন। ডিবাগিং শুরু করুন।

সাধারণত ত্রুটি উইন্ডো আর প্রদর্শিত হয় না এবং ডিবাগিং তথ্য সঠিকভাবে প্রদর্শিত হয়।


0

আমি পাশাপাশি এই সমস্যা মধ্যে দৌড়ে। আমি একটি পিপড়া বিল্ড স্ক্রিপ্ট ব্যবহার করছি। আমি লিগ্যাসি অ্যাপ্লিকেশনটিতে কাজ করছি তাই আমি জেডিকে সংস্করণ ১.৪.২ ব্যবহার করছি। এটি কাজ করত তাই আমি চারপাশে তাকাতে শুরু করি। আমি লক্ষ্য করেছি যে জেআরই ট্যাবে ডিবাগ কনফিগারেশনের অধীনে জাভার সংস্করণটি 1.7 এ সেট করা হয়েছে। একবার আমি এটি পরিবর্তন করে আবার 1.4 এ কাজ করে।

আশা করি এটা কাজে লাগবে.


0

আমি লগিং ম্যানেজারকে ডিবাগ করার চেষ্টা করছিলাম এবং জেআরকে একটি জেডকে পরিবর্তন করতে হবে এবং তারপরে "জাভা রানটাইম এনভায়রনমেন্ট" "মূল" ট্যাবে এই জেডিকে নির্বাচন করার দরকার ছিল | ডিবাগ কনফিগারেশনের "রানটাইম জেআরই" তখন সব ঠিকঠাক ছিল।


0

আমি @ ম্যানেজডবিয়ান (জাভ্যাক্স.অনোটেশন.ম্যানেজডবিয়ান) দিয়ে একটি ক্লাস টিকা দেওয়ার সময় আমি এই সমস্যাটি দেখেছি। জেবস ইএপি .2.২.০ এ সুনির্বাচিত অ্যাপ্লিকেশনটি চালানোর সময় সতর্কতা বার্তাটি উপস্থিত হয়েছিল। এটিকে উপেক্ষা করে এবং যাইহোক চালানো কোনও উপকারে আসেনি - ব্রেকপয়েন্টটি কখনই পৌঁছায়নি।

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

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


0

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

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