Org মোডে ডিবাগিং কোড ব্লক


11

Org- মোড ব্লকগুলিতে ট্রেসিং ত্রুটিগুলি সহজ করার জন্য কি কোনও সরঞ্জাম উপলব্ধ রয়েছে? (আমি বিশেষ করে অজগর নিয়ে কাজ করছি)

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

আমি অনুপস্থিত কোন সরঞ্জাম আছে? (উদাহরণস্বরূপ, সংকলন মোডের মতো এমন কিছু যেখানে এটি আপনাকে ত্রুটিতে থাকা লাইনে নিয়ে যাবে))

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


3
Emacs.stackexchange.com / জিজ্ঞাসা / 13244/ … দেখুন । আমার বর্তমান প্রিয় সমাধান (org-src-debug)। এর সুবিধা রয়েছে যে আপনি ইনপুট আর্গুমেন্টের সাহায্যে উত্স কোড ব্লকগুলি ডিবাগ করতে পারেন।
টোবিয়াস

অনুরূপ সমস্যাযুক্ত অন্যদের জন্য মন্তব্য করুন: ব্যবহারকারী 2699 প্রশ্নটি সম্পাদনা করে স্পষ্ট করে দেয় যে সে পাইথনের উত্স কোড ব্লকগুলি ডিবাগ করতে চায় । টোবিয়াসের শেষ মন্তব্যটি কেবল ইমাস-লিস্প কোড ব্লক কার্যকর করার ক্ষেত্রে প্রযোজ্য ।
টোবিয়াস

1
আপনি কি :sessionআপনার কোড ব্লকে একটি শিরোনাম যুক্ত করেছেন ? যেমন :session *my-python*। তারপরে কেবল *my-python*অন্য ফ্রেম বা উইন্ডোতে বাফারে স্ক্রিপ্ট সম্পাদন দেখুন । আমি অনুমান করছি আপনি এই সঠিক চেয়ে আরও পরিশীলিত কিছু চান?
মেলিওরাটাস

@ মেলিয়ারাটাস, এটি কিছুটা আদিম (এটি ত্রুটিগুলি সুন্দরভাবে পরিচালনা করতে পারে না এবং পাইথন কনসোলে অতিরিক্ত আউটপুট যুক্ত করে) তবে কিছুই না থেকে এটি অনেক ভাল। এবং পাইথন কনসোলটি খুব সুন্দর। আপনার এটি উত্তর হিসাবে জমা দেওয়া উচিত।
ব্যবহারকারী2699

@ তোবিয়াস, ধন্যবাদ, এটাই আমি খুঁজছি, কারণ এড়িয়ে যাওয়ার জন্য নির্দিষ্ট নয়।
ব্যবহারকারী2699

উত্তর:


7

পদ্ধতি 1

  1. :sessionআপনার উত্স ব্লকে শিরোনাম যুক্ত করুন ।

    উদাহরণস্বরূপ : সেশন শিরোনামটি ব্যবহার করে নামের একটি বাফারের ভিতরে কোডটি কার্যকর করা হবে *my-python*এবং ডিবাগ বার্তা প্রদর্শন করা হবে।

    #+BEGIN_SRC python :session *my-python*
      'Hello {0}\n'.format('World')
    #+END_SRC
    

    পরামর্শ:

    • C-c C-v C-zস্ক্রিনটি উল্লম্বভাবে বিভক্ত করতে এবং ইন্টারেক্টিভ *my-python*বাফার প্রদর্শনের জন্য ব্যবহার করুন ।
    • C-c C-v ?অন্যান্য দরকারী শর্টকাট প্রদর্শন করতে ব্যবহার করুন ।

পদ্ধতি 2

  1. কোড ব্লক এবং এডিট ব্লক ব্যবহার করে পয়েন্ট C-c ', উদাহরণস্বরূপ org-edit-special। এই পদ্ধতিটি আপনাকে python-modeঅন্তর্নির্মিত কার্যকারিতাটি ব্যবহার করার অনুমতি দেবে ।

  2. পাইথন ইন্টারপ্রেটার দিয়ে শুরু করুন C-c C-p, যা উইন্ডোটি বিভক্ত হবে এবং বাফারের নামটি খুলবে *Python*। পাইথন ইন্টারপ্রেটার বাফার প্রেসে স্যুইচ করতে C-c C-z

    দ্রষ্টব্য: সম্প্রতি আমি লক্ষ্য করেছি যে *Warnings*পরিবর্তে একটি বাফার প্রদর্শিত হয়েছে। *Warnings*বাফারের ভিতরে কেবল পয়েন্ট রাখুন এবং বাফার qপ্রদর্শনের জন্য টিপুন *Python*

  3. শেষ হয়ে গেলে আপনার আপডেট হওয়া কোডটি কোড ব্লকে প্রচার করুন C-c 'বা এর সাথে কোনও পরিবর্তন বাতিল করুন C-c C-k


নোট করুন এই কোডটি পরীক্ষা করে পরীক্ষা করা হয়েছিল : ইমাস সংস্করণ: জিএনইউ ইম্যাকস
26.1
org- মোড সংস্করণ: 9.1.14

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