এক্সডিবাগের সাহায্যে প্লাগিন কীভাবে ডিবাগ করবেন?


12

আমি পিএইচপি 5.3.0 (এক্সএএমপিপি) এর উপর ভিত্তি করে আমার স্থানীয় পরিবেশে নেটবিন্স 6.9.1 এবং এক্সডিবুগ ইনস্টল এবং সেটআপ করতে সক্ষম হয়েছি।

আমার সমস্যা এখন নিম্নলিখিত: আমি যদি ওয়ার্ডপ্রেস এর সূচক.এফপি বা অন্যান্য ওয়ার্ডপ্রেস কোর পিএইচপি ফাইলগুলিতে ব্রেকপয়েন্ট রাখি, নেটবিয়ানগুলি সঠিকভাবে কাঙ্ক্ষিত অবস্থানে থামবে stop এর পরিবর্তে যদি আমি একটি প্লাগইন ফাইলে ব্রেকপয়েন্ট রাখি, একটি ট্রিগার কোড এক্সিকিউশন নেটবিয়ানগুলি সেখানে থামবে না।

কীভাবে সমাধান করা যায় জানেন?

আপডেট: আমি কি ডিবাগ করার চেষ্টা করছি সে সম্পর্কে আরও তথ্য

প্লাগইনকে ভ্যানিলা ফোরাম বলা হয় এবং নিম্নলিখিত ফাইল কাঠামো থাকে:

- plugins
  - vanilla-forums
    + assets
    + nbproject
    + templates
      admin.php
      embed.php
      functions.php
      hooks.php
      plugin.php
      sso.php
      widgets.php

আমি একটি ফাংশনের ভিতরে ব্রেকপয়েন্ট সেট করেছি যার নাম vf_validate_optionsসংজ্ঞায়িত হয়েছে functions.php। আমি নিশ্চিত যে এই ফাংশনটি কার্যকর হয়েছে, তবে নেটবিনগুলি সেখানে ভাঙবে না।


যদি আপনি throw new Exception('die');ব্রেকপয়েন্টের লাইনের পরে কোনও বিবৃতি দেন তবে তা কি বন্ধ হয়ে যায় (এর অর্থ এই যে এটি আপনার অনুরোধটিকে হত্যা করে / শেষ করে)?
hakre

@ হাক্রে হ্যাঁ, এটি ব্যতিক্রম ছুঁড়েছে (আমি নিশ্চিত যে ব্রেকপয়েন্টটি সেট করা কোডটি কার্যকর করা হয়েছে)
ড্রেক করুন

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

1
আমার ঠিক একই সমস্যা আছে এবং এখনও একটি সমাধান খুঁজে পাচ্ছি না! আমি নস্ফিয়ার পিএইচপি ব্যবহার করছি তবে আমি কোনও ফল ছাড়াই গ্রহণের চেষ্টা করেছি! Xdebug ব্রেক ব্রেকপয়েন্টে থামানো একমাত্র ফাইল হ'ল ওয়ার্ডপ্রেস "কোর" ফাইল। থিমের পিএইচপি ফাইলটিও ডিবাগযোগ্য নয়! আপনি যদি কোনও সমাধান পান তবে আমাকে জানান, আমি কোনও উত্তর ছাড়াই ওয়ার্ডপ্রেস অফিসিয়াল
ফোরামটিতে

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

উত্তর:



1

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

এছাড়াও ক্রোম, সাফারি এবং অপেরার জন্য এক্সটেনশন রয়েছে। লিঙ্কগুলি xdebug ওয়েবসাইটে পাওয়া যাবে


0

হাই @ ড্রেক:

বোকা প্রশ্ন, আমি জানি, তবে আপনি কি প্লাগইনটি "সক্রিয়" করেছেন? প্লাগিনগুলি যখন ডিবাগ করা হচ্ছে না তখন আমি ট্রিপ আপ করি।


হ্যাঁ, প্লাগইন সক্রিয় করা হয়েছে। আমি যেটি ডিবাগ করার চেষ্টা করছি তা হ'ল প্রশাসক অঞ্চলে প্লাগইন স্ব দ্বারা তৈরি মেনু দ্বারা একটি ফাংশন ট্রিগার।
ড্রেক

@ ড্রাক - একটি "ফাংশন ট্রিগার" কী ? আপনি কি দয়া করে আপনার প্রশ্নের আপডেট হিসাবে আপনার কোড পোস্ট করতে পারেন?
মাইকচিন্কেল

0

প্লাগইনের ফাইলগুলি ডিবাগ করার কোনও উপায় নেই। ডিবাগ ওয়ার্ডপ্রেসের জন্য আমি খুঁজে পেয়েছি একমাত্র উপায় হ'ল nsphere phped wich, দুর্ভাগ্যক্রমে, ফ্রিওয়্যার নয়। এটিই কেবল একটাই করতে পারে বলে মনে হয়, তবে কেন জানি না তবে আমি নেটবিন এবং গ্রহনটি দিয়ে কীভাবে ডিবাগ করতে পারি তা নির্ধারণ করার জন্য খুব দীর্ঘ সময় ব্যয় করি ... কোনও ফলাফল ছাড়াই!


-3

ঠিক আছে, যেহেতু ওয়ার্ডপ্রেস নিজেই সরবরাহ করে WP_DEBUG, এবং wp_die($msg)... আপনার Xdebug দিয়ে ডিবাগ করার দরকার কেন? আপনি যদি কোনও ফ্রেমওয়ার্ক ব্যবহার করে আপনার প্লাগইনটি তৈরি না করে থাকেন?


xdebug অনেক সরঞ্জাম সরবরাহ করে যা WP_DEBUG এবং আউটপুট দেয় না - প্রোফাইলিং এবং একটি সূচনা করার জন্য কোডের মাধ্যমে পদক্ষেপ ...
বোয়াইভার্ট

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