كيفية تصحيح ملف نخر مع نقاط التوقف باستخدام عقدة المفتش, شبابيك 7?

StackOverflow https://stackoverflow.com//questions/24001043

سؤال

لذلك قضيت اليومين الماضيين في محاولة للحصول على هذا العمل مع أي حظ.يبدو أن معظم الحلول التي وجدتها تعمل "بشكل جيد" لتصحيح أخطاء تطبيقات العقدة.ولكن لم يكن لدي الكثير من الحظ تصحيح النخر تقف وحدها.وأود أن تكون قادرة على تعيين نقاط التوقف في بلدي غرونتفيل وإما خطوة من خلال التعليمات البرمجية إما مع المتصفح أو إيد.

لقد حاولت ما يلي:

رسالة خطأ باستخدام مفتش العقدة

enter image description here

حتى الآن عقدة المفتش يشعر وكأنه قد حصلت لي الأقرب إلى ما أريد.للوصول إلى هنا فعلت ما يلي:

من بلدي الدليل الناخر ركضت الأوامر التالية:

grunt node-inspector
node --debug-brk Gruntfile.js

ثم من هناك ذهبت إلى localhost:8080/debug?port=5858 لتصحيح ملف النخر الخاص بي.شبيبة.ولكن كما ذكرت أعلاه ، بمجرد أن أضرب إف 8 للتخطي إلى نقطة التوقف ، فإنه يتعطل مع الخطأ أعلاه.هل حقق أي شخص أي نجاح في استخدام هذه الطريقة لمحاولة تصحيح ملف نخر?حتى الآن من جهود البحث الخاصة بي لم أجد طريقة موثقة جيدا للقيام بذلك.لذلك نأمل أن تكون هذه معلومات مفيدة أو مفيدة للمستخدمين في المستقبل.أيضا أنا باستخدام ويندوز 7 بالمناسبة.شكرا مقدما.

تحديث:

لقد حاولت ما يلي اقترحه @ديلانتس مع أي حظ حتى الآن.

  1. وجدت الناخر.ملف كمد على جهاز ويندوز الموجود في C:\Users\khollenbeck\AppData\Roaming\npm.فتحت grunt.cmd ملف وجدت ما يلي....

    enter image description here

  2. هذا يقودني إلى C:\Users\khollenbeck\AppData\Roaming\npm\node_modules\grunt-cli\bin التي تحتوي على ملف يسمى grunt.ومن هناك في الجزء العلوي من الملف.لقد غيرت هذا الرمز #!/usr/bin/env node إلى #!/usr/bin/env node --debug-brk

  3. بعد القيام بهذا الأمر node-inspector C:\path\to\gruntfile grunt حصلت على ما يلي.

    Node Inspector v0.7.3 Visit http://localhost:8080/debug?port=5858 to start debugging

  4. التالي ركضت grunt الأمر من دير الناخر.(ترك الخادم قيد التشغيل في موجه الأوامر الأصلي)

من هنا كنت أتوقع غرونتفيل.شبيبة لتظهر في مصدر أدوات ديف كروم.كنت أتوقع أيضا أن أكون قادرا على تعيين نقاط توقف من هناك.هذا لم يحدث.بدلا من ذلك ركض فقط على طول الطريق من خلال غرونتفيل دون كسر أو تحميل في المتصفح.

تحرير:

آه ، أرى ما فعلته خطأ.لسبب ما فعلت عقدة deb تصحيح-برك مع إضافة المسار C:\Users\khollenbeck\AppData oaming pm ode_modules\grunt-cli\bin\grunt.تعمل الآن ، شكرا جزيلا.أعتذر عن سحب هذا على ل طويل جدا.ولكن نأمل أن يكون هذا مفيدا لمستخدمي ويندوز الآخرين في المستقبل.

هل كانت مفيدة؟

المحلول

يمكن تحقيق ذلك من خلال البدء node-inspector والبدء grunt في وضع التصحيح.وبمجرد الانتهاء من ذلك ، يمكنك خطوة من خلال الخاص بك Gruntfile.js داخل كروم كما تفعل عادة.

بدء عقدة المفتش

إذا لم يكن لديك بالفعل node-inspector, ، قم بتثبيته باستخدام npm install -g node-inspector.ثم ابدأ تشغيله في موجه أوامر / محطة طرفية واحدة:

$ node-inspector
Node Inspector v0.7.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.

تشغيل الناخر في وضع التصحيح

بعد ذلك ، حدد موقع الخاص بك grunt سيناريو.هذا هو ملف جافا سكريبت الذي يتم تنفيذه عند تشغيل grunt الأمر من سطر الأوامر.إذا قمت بتثبيت نخر عالميا (باستخدام npm install -g grunt-cli) ثم سيكون على الأرجح في /usr/bin أو /usr/local/bin إلى عن على *لا شىء أو ماك آلات.لآلات ويندوز ، و grunt.cmd يشير الملف إلى حيث grunt يقع البرنامج النصي.على الأرجح grunt يقع البرنامج النصي في C:\Users\<username>\AppData\Roaming\npm\node_modules\grunt-cli\bin.

بمجرد العثور على موقع البرنامج النصي ، استخدم node --debug-brk لتنفيذ هذا البرنامج النصي ، وبالتالي بدء النخر في وضع التصحيح كسر على السطر الأول من التعليمات البرمجية في الملف.على سبيل المثال ، تخيل أن البرنامج النصي الناخر موجود في /usr/bin/grunt:

$ node --debug-brk /usr/bin/grunt 
debugger listening on port 5858

ستعرف أنك ناجح عندما ترى debugger listening on port 5858 كإخراج ، مما يعني أن البرنامج النصي الناخر قد أوقف التنفيذ وينتظر أن يتم تجاوزه باستخدام مصحح الأخطاء.

التصحيح مع الكروم

الآن إحضار الكروم وأشر إلى http://127.0.0.1:8080/debug?port=5858.داخل كروم ، فتح وإضافة نقاط كسر في الخاص بك Gruntfile.js, ، وخطوة كما تفعل عادة.

نصائح أخرى

لبدء عقدة المفتش يجب أن لم يعد تمرير deb التصحيح أو deb التصحيح - برك العلم.يمكنك البدء مباشرة باستخدام node-inspector و فيليباث ، تماما كما كنت عادة بدء تنفيذ البرنامج النصي باستخدام node الأمر.هذا يجب أن تفتح تلقائيا المفتش بكت في كروم ، وقفة في السطر الأول من التنفيذ.يمكنك من هنا إدراج نقاط التوقف الخاصة بك وتصحيح الأخطاء كالمعتاد.

كما ذكر أعلاه ، لتصحيح مهمة نخر ، يجب عليك العثور على نخر قابل للتنفيذ باستخدام $ which grunt في ماك ، لست متأكدا من ويندوز.ثم سيتعين عليك نسخ هذا المسار ، واستخدامه كوسيطة أولى تم تمريرها إلى تصحيح العقدة ، مع كون الوسيطة الثانية هي المهمة (ويمكنك أيضا تضمين هدف النخر إذا لزم الأمر).لذلك على سبيل المثال قد تبدو:

node-debug /usr/local/bin/grunt concat:dev

ومن هنا يمكنك تصحيح أي ملف سيتم تنفيذه لمهمة كونكات.يتضمن ذلك تبعيات سلسلة النخر التي ستكون في وحدات العقدة المحلية.لأنني وجدت أنه مزعج لنسخ ولصق مسار قابل للتنفيذ بلدي أنا جعلت عقدة كلي أبسط لتجريد هذا بعيدا https://github.com/dtothefp/node-build-debug.إذا قمت بتثبيت هذا على الصعيد العالمي (وبالطبع لديك عقدة المفتش تثبيت عالميا) يمكنك:

$ build-debug grunt concat:dev

في إصدارات العقدة الأحدث (بدءا من 6.3 على ما أعتقد) ، يوجد مصحح أخطاء / مفتش مدمج:

https://nodejs.org/en/docs/inspector/

مجرد بداية التطبيق الناخر الخاص بك مثل هذا (على ويندوز):

node --inspect %APPDATA%\npm\node_modules\grunt-cli\bin\grunt

إذا قمت بتثبيت تمديد كروم مدير مفتش العقدة, ، سيتم فتح أدوات التطوير تلقائيا.

خلاف ذلك ، يمكنك فتح chrome://inspect والاتصال بجلسة تصحيح الأخطاء يدويا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top