ฉันจะดีบักแอปพลิเคชัน Node.js ได้อย่างไร


1578

ฉันจะดีบักแอ็พพลิเคชันเซิร์ฟเวอร์ Node.js ได้อย่างไร

ตอนนี้ฉันส่วนใหญ่ใช้การแจ้งเตือนการดีบักด้วยคำสั่งพิมพ์ดังนี้:

sys.puts(sys.inspect(someVariable));

จะต้องมีวิธีที่ดีกว่าในการดีบัก ฉันรู้ว่าGoogle Chromeมีเครื่องมือดีบั๊กบรรทัดคำสั่ง มีการดีบักเกอร์นี้สำหรับ Node.js หรือไม่


3
คุณสามารถใช้Locusเพื่อฉีดบรรทัดคำสั่ง
Ali Davut

5
หากคุณต้องการแก้ปัญหาด้วย appoach แบบ IDE ให้ใช้ vscode ใช้ vscode youtube.com/watch?v=egBJ0cd0GLM
jw56578

4
ฉันได้พบบทความนี้ที่น่าสนใจมากและการทำงานสำหรับฉันเพียงแค่ปรับ: การแก้จุดบกพร่อง Node.js ด้วย Chrome DevTools หวังว่ามันจะช่วยให้ :)
Timbergus

2
"debugging alert" :)
Red Pea

โปรดทราบว่าคุณจำเป็นต้องเรียกใช้พยักหน้าด้วย--inspect-brkINSTEAD OF --inspectหากคุณต้องการดีบักโค้ดเซิร์ฟเวอร์จริง ณ เวลาโหลด ดูstackoverflow.com/questions/59596138
Jorge Orpinel

คำตอบ:


1261

โหนดตรวจสอบสามารถบันทึกวัน! ใช้งานได้จากเบราว์เซอร์ที่สนับสนุนWebSocket เบรกพอยต์, ผู้สร้างโปรไฟล์, การถ่ายทอดสด ฯลฯ ... มันยอดเยี่ยมจริงๆ

ติดตั้งด้วย:

npm install -g node-inspector

จากนั้นเรียกใช้:

node-debug app.js

14
ต้องการโหนดผู้ตรวจสอบที่ใช้งานอยู่ องค์ประกอบการทำโปรไฟล์จำเป็นต้องได้รับความรัก
Jonathan Dumaine

13
น่าเสียดายสำหรับฉันผู้ตรวจสอบโหนดไม่ทำงานกับ Node.js เวอร์ชันล่าสุดและไม่สนับสนุนการบันทึกไปยังคอนโซลเบราว์เซอร์ตั้งแต่ v0.1 node-codein เป็นรถม้าชนิดเล็ก ดังนั้นฉันจึงเขียนโมดูลของตัวเองเพื่อช่วยในการดีบักโดยอนุญาตให้คุณถ่ายโอนวัตถุและออกไปยังคอนโซลเว็บเบราว์เซอร์ของคุณ ฉันคิดว่ามันอาจจะเป็นประโยชน์กับคนอื่น: โหนดลิง รวมทั้งใช้งานได้ทั้ง Firefox และ Chrome
Justin Warkentin

7
เนื่องจากนี่เป็นเครื่องมือที่น่าทึ่งและเป็นที่นิยมอย่างแน่นอนความจริงที่ว่าผู้เขียนดั้งเดิมยอมรับว่าพวกเขาไม่มีทรัพยากรที่จะรักษามันอีกต่อไปจะไม่เป็นปัญหาเนื่องจากชุมชนโอเพนซอร์สสามารถหยิบมันขึ้นมาได้?
PeterT

34
ตอนนี้ผู้ตรวจสอบได้รับการบำรุงรักษาอย่างแข็งขันโดย StrongLoop และทำงานอีกครั้งกับเวอร์ชันล่าสุด (0.3) ใช่! ประกาศที่นี่: blog.strongloop.com/…
balupton

21
"ตั้งแต่รุ่น 6.3 เป็นต้นไป Node.js ให้ดีบักเกอร์ที่ใช้งานใน DevTools ซึ่งส่วนใหญ่จะคัดค้าน Node Inspector ดูตัวอย่างเช่นการโพสต์บล็อกนี้เพื่อเริ่มต้นดีบั๊กในตัวได้รับการพัฒนาโดยตรงโดยทีม V8 / Chromium และให้บริการขั้นสูงบางอย่าง คุณสมบัติ (เช่นการติดตามสแต็กยาว / async) ซึ่งยากที่จะนำไปใช้ใน Node Inspector " - ตรวจสอบโหนดตรวจสอบ repo
ThisClark

750

แก้จุดบกพร่อง

โปรไฟล์

  1. node --prof ./app.js
  2. node --prof-process ./the-generated-log-file

Heapdumps

Flamegraphs

การติดตาม

เข้าสู่ระบบ

ไลบรารีที่เอาต์พุตข้อมูลการดีบัก

ไลบรารีที่ปรับปรุงข้อมูลการติดตามสแต็ก

การเปรียบเทียบ

อื่น ๆ

มรดก

ใช้เพื่อทำงาน แต่ไม่ได้รับการดูแลรักษาอีกต่อไปหรือไม่สามารถใช้ได้กับโหนดโหนดรุ่นใหม่


8
เกี่ยวกับ Nodetime: สำหรับผู้ที่ไม่ต้องการส่งข้อมูลไปยังเซิร์ฟเวอร์ nodetime จะมี "ทางเลือก" ในตัวเครื่อง (ซึ่งยังคงใช้ nodetime) lookโมดูลดังกล่าวในstackoverflow.com/questions/12864221/nodejs-memory- การทำโปรไฟล์
Reallynice

ฉันไม่พบรายงาน cpu จาก nodetime มีประโยชน์มาก: 1. ฉันเพิ่งได้ต้นไม้วิธีการโดยไม่มีเวลา 'ตัวเอง' 2. ดูเหมือนกิ่งก้านต้นไม้จะถูกตัดใต้จำนวนที่แน่นอน 2 ตัวนั้นทำให้ยากต่อการแยกส่วนที่ซีพียูใช้เวลาส่วนใหญ่
shacharz

npm install -g profiler บ่นเกี่ยวกับ python ที่หายไปบน windows 7 ฉันพยายามตั้ง python = C: \ Python34 \ แต่สิ่งนี้ทำให้เกิดความผิดพลาด
Stepan Yakovenko

ผู้สร้างโปรไฟล์เพียงคนเดียวที่ทำงานนอกกรอบคือ nodetime แต่สแต็คการทำโปรไฟล์ cpu ของมันไม่สามารถใช้งานได้ (ไม่ให้รายละเอียดเพียงพอ) เครื่องมือของ Nodejs 4 msvc 2012 ยังมีตัวสร้างโปรไฟล์ แต่ก็ยังได้รายงานข้อผิดพลาดที่ไม่ได้สำคัญ ...
Stepan Yakovenko

เครื่องมือสร้างโปรไฟล์เดียวที่ใช้ได้กับฉันคือnprof+v8.lognode --profจาก
Dan Abramov

253

V8ดีบักปล่อยออกมาเป็นส่วนหนึ่งของ Google เครื่องมือสำหรับนักพัฒนา Chromeสามารถใช้ในการแก้ปัญหาสคริปต์ Node.js คำอธิบายรายละเอียดของวิธีการทำงานนี้สามารถพบได้ในวิกิพีเดีย Node.js GitHub


12
ฉันสนใจหลังจากการนำเสนอที่ Google IO ซึ่ง Paul Irish และ Pavel ทำตอนนี้เป็นไปได้หรือไม่ที่จะดีบัก node.js ตรงไปที่เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome โดยไม่จำเป็นต้องใช้คราส?
balupton

+1 ทำงานได้ดีมากสำหรับฉัน การใช้ Eclipse 3.x รุ่น x64 ใหม่บน Mac OS X คำแนะนำในการติดตั้งนั้นเขียนได้ดีเช่นกัน ขอบคุณ.
บาริสต้ามือสมัครเล่น

นอกจากนี้ยังมีอยู่ใน Nodeclipse nodeclipse.org (ซึ่งมีข้อบกพร่องบางอย่างที่เกี่ยวข้องกับ Node.js)
Paul Verest

รายการของฉันในเวทีนี้คือ trepanjs ( npmjs.com/package/trepanjs ) มันมีข้อดีของโหนดดีบักเกอร์ทั้งหมด แต่สอดคล้องกับ gdb ได้ดีกว่า นอกจากนี้ยังมีคุณสมบัติและคำสั่งเพิ่มเติมเช่นการเน้นไวยากรณ์ความช่วยเหลือออนไลน์ที่ครอบคลุมมากขึ้นและการประเมินผลที่ชาญฉลาดยิ่งขึ้น ดูgithub.com/rocky/trepanjs/wiki/Cool-thingsสำหรับคุณสมบัติเจ๋ง ๆ
ร็อ

1
คุณลักษณะนี้มีให้บริการในเวอร์ชันต่อคืน ลองอ่านคำแนะนำได้ที่นี่:https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.fitvuaumt
zeronone

191

โหนดมีดีบักเกอร์ GUI ในตัวเป็นของตัวเองในเวอร์ชัน 6.3 (โดยใช้ DevTools ของ Chrome)

โหนดในตัวดีบักเกอร์ GUI

เพียงผ่านการตรวจสอบธงและคุณจะได้รับ URL ไปยังผู้ตรวจสอบ:

node --inspect server.js

คุณสามารถแบ่งบรรทัดแรกโดยผ่าน--inspect-brkแทน


2
เพื่อไม่ลดขั้นตอนข้างต้น แต่เพียงแชร์ ... ฉันพยายามสร้าง wrapper ที่แข็งแกร่งขึ้นเล็กน้อยและติดตั้งง่ายขึ้น ดู: github.com/jaridmargolin/inspect-process
Jarid R. Margolin

1
@ JaridR.Margolin Nice ฉันอัพเดตคำตอบเพื่อใช้สิ่งนั้นแทน มากง่ายต่อการติดตั้งและทำงานได้ดีขึ้น :)
Gregers

2
คำตอบนี้อยู่ที่ด้านล่างและเป็นคำตอบเดียวที่ได้ผลสำหรับฉัน นี่เป็นการพลิกที่ยอดเยี่ยม!
LOAS

3
ในกรณีที่จะช่วยให้ทุกคนฉันโยนขึ้นวิดีโออธิบายขั้นตอนนี้ที่youtu.be/rtZKUnks6jI
RoccoB

2
คุณได้รับชุดรูปแบบที่มืดสำหรับเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์โครมที่ไหน
Pieter Meiresone

93

Node.js เวอร์ชัน 0.3.4+ มีการสนับสนุนการดีบักในตัว

node debug script.js

คู่มือ: http://nodejs.org/api/debugger.html


1
คุณมีลิงค์ไปยังเอกสารประกอบการใช้งานหรือไม่?
Fabian Jakobs

2
ฉันไม่มีเอกสารใด ๆ เพิ่งอัพเดตเป็น v0.3.5 ใส่บรรทัด "debugger;" ในรหัสของคุณซึ่งจะทำหน้าที่เป็นจุดพัก มันทำงานได้เหมือน ndb / gdb หลังจากคุณทำ "node debug script.js" พิมพ์วิธีใช้ คุณจะเห็นคำสั่งที่สนับสนุน p = print, l = list ... ดังนั้นคุณไม่จำเป็นต้องพิมพ์โลกทั้งใบ
JulianW

2
หมายเหตุภายใต้ windows คือ "node.exe --debug myscript.js" แต่ก็ยังไม่ทำงาน
Marc

6
คุณอาจจะมีการเปลี่ยนแปลง--debugไปdebugโดยไม่มีเครื่องหมายขีดคั่น นั่นเป็นวิธีที่ฉันได้มันมาทำงาน มันสับสน--debugและdebugทำสองสิ่งที่แตกต่างกัน
benekastah

คุณจะให้โปรแกรมทำงานจริงได้อย่างไร "r -> app is already running..." เมื่อฉันพยายามดำเนินการต่อและฉันพบคำสั่งที่พยายามรับอินพุตมันจะส่งฉันกลับไปที่พรอมต์การดีบักแทนที่จะปล่อยให้ฉันป้อนอินพุตที่จำเป็น
Michael

70

Visual Studio Codeเป็นตัวเลือกของฉันสำหรับการแก้ไขข้อบกพร่อง ไม่มีค่าใช้จ่ายในการติดตั้งเครื่องมือหรือnpm installสิ่งของใด ๆ เพียงตั้งจุดเริ่มต้นของแอพของคุณใน package.json และ VSCode จะสร้างไฟล์กำหนดค่าภายในโซลูชันของคุณโดยอัตโนมัติ มันสร้างจากอิเล็กตรอนซึ่งตัวแก้ไขเช่นอะตอมถูกสร้างขึ้น

รหัส VS ให้ประสบการณ์การดีบักที่คล้ายกับที่คุณเคยมีใน IDE อื่น ๆ เช่น VS, Eclipse และอื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


มันเจ๋ง แต่ก็มีความล่าช้า นั่นเป็นเหตุผลที่ฉันชอบ Sublime
calbertts

3
แต่ประเสริฐไม่ได้มีการดีบักเกอร์และฉันคิดว่ารหัส VS สวยเร็วเกินไป
ไซ Faizan

1
ฉันมีใบอนุญาตประเสริฐเมื่อ 5 ปีที่แล้ว ตั้งแต่ไม่กี่เดือนที่ผ่านมาฉันไม่ได้ติดตั้ง Sublime Text เพียง vscode นอกกรอบมีเครื่องมือมากมายที่ฉันพลาดใน Sublime (เช่นเทอร์มินัลรวม .. )
elboletaire

มักจะถามฉันสำหรับโฟลเดอร์ปรับแต่งก็ไม่ได้ทำงานออกจากกล่อง
carkod

@carkod เปิดใช้งานการกำหนดค่าแนบ vs auto code และใช้terminal vs code เพื่อเริ่มต้นสคริปต์, โหนดเก่า --inspect file-name.js
Vipul Dessai

57

ฉันใช้JetBrains WebStormเป็นการส่วนตัวเพราะมันเป็น JavaScript IDE เดียวที่ฉันพบซึ่งเหมาะสำหรับ JavaScript ทั้งส่วนหน้าและส่วนหลัง

ใช้งานได้กับหลายระบบปฏิบัติการและมีการแก้ไขข้อบกพร่องในตัว Node.js (รวมถึงสิ่งอื่น ๆ อีกมากมาย] ( http://www.jetbrains.com/webstorm/features/index.html )

รายการ 'ปัญหา' / รายการสิ่งที่ปรารถนาของฉันเท่านั้น เป็น เป็น :

  1. ดูเหมือนว่าทรัพยากรจะหิวบน Mac มากกว่า Windows ดูเหมือนว่าจะไม่มีปัญหาในเวอร์ชัน 6 อีกต่อไป
  2. มันคงจะดีถ้ามีส่วนสนับสนุนตัวอย่าง (เช่นSublime Text 2 - เช่นพิมพ์ 'fun' และแตะ 'tab' เพื่อใส่ฟังก์ชั่น ดู @WickyNilliams แสดงความคิดเห็นด้านล่าง - ด้วยเทมเพลตสดคุณยังได้รับการสนับสนุนตัวอย่าง

10
webstorm มีข้อมูลโค้ดรองรับ BTW ;-) ถึงแม้ว่าพวกเขาจะรู้จักกันในนาม "เทมเพลตสด" แทนที่จะเป็นตัวอย่าง
WickyNilliams

3
หากคุณต้องการดีบักแอป node.js และมีสิทธิ์ใช้งาน Intellij IDEA อยู่แล้วคุณสามารถติดตั้งปลั๊กอิน node.js โดยไม่ต้องซื้อสิทธิ์ใช้งาน WebStorm การตั้งค่าการกำหนดค่า run / debug นั้นง่ายมากเมื่อติดตั้งปลั๊กอินแล้ว
Josh Liptzin

42

คำตอบที่ดีมากมายที่นี่ แต่ฉันต้องการเพิ่มมุมมองของฉัน (ขึ้นอยู่กับวิธีการพัฒนาของฉัน)

แก้ไขข้อผิดพลาดบันทึก

ปล่อยให้หน้ามันเราทุกคนรักที่ดีconsole.log('Uh oh, if you reached here, you better run.')และบางครั้งที่ใช้งานได้ดีดังนั้นหากคุณกำลังมีเงื่อนงำที่จะย้ายไปไกลจากมันอย่างน้อยเพิ่มบาง bling การบันทึกของคุณกับการแก้ปัญหาของ Visionmedia

การดีบักแบบโต้ตอบ

มีประโยชน์เช่นเดียวกับการบันทึกคอนโซลสามารถตรวจแก้จุดบกพร่องอย่างมืออาชีพคุณต้องพับแขนเสื้อของคุณและติดขัดตั้งเบรกพอยต์, ก้าวผ่านรหัสของคุณตรวจสอบขอบเขตและตัวแปรเพื่อดูสิ่งที่ทำให้เกิดพฤติกรรมแปลก ๆ ดังที่คนอื่น ๆ ได้กล่าวถึงโหนดตรวจสอบเป็นผึ้งหัวเข่า มันทำทุกสิ่งที่คุณสามารถทำได้กับตัวดีบักในตัว แต่ใช้อินเทอร์เฟซ Chrome DevTools ที่คุ้นเคย ถ้าเช่นฉันคุณใช้Webstormแล้วนี่คือคำแนะนำที่มีประโยชน์ในการแก้ไขข้อบกพร่องจากที่นั่น

กองติดตาม

โดยค่าเริ่มต้นเราไม่สามารถติดตามชุดของการดำเนินงานในรอบที่แตกต่างกันของวงเหตุการณ์ (เห็บ) เพื่อรับรอบนี้ดูlongjohn (แต่ไม่ได้อยู่ในการผลิต!)

หน่วยความจำรั่ว

ด้วย Node.js เราสามารถมีกระบวนการเซิร์ฟเวอร์ที่คาดว่าจะอยู่เป็นเวลานาน คุณจะทำอย่างไรถ้าคุณคิดว่ามันมีการรั่วไหลที่น่ารังเกียจบางอย่าง? ใช้heapdumpและ Chrome DevTools เพื่อเปรียบเทียบภาพรวมบางส่วนและดูว่ามีอะไรเปลี่ยนแปลง


สำหรับบทความที่มีประโยชน์ให้ตรวจสอบ

หากคุณรู้สึกอยากดูวิดีโอ

ไม่ว่าคุณจะเลือกเส้นทางแบบไหนให้แน่ใจว่าคุณเข้าใจวิธีการดีบั๊ก

ป้อนคำอธิบายรูปภาพที่นี่

มันเป็นสิ่งที่เจ็บปวดที่
จะมองปัญหาของตัวเองและรู้
ว่าตัวคุณเองและไม่มีใครทำ

Sophocles, Ajax


41

เธเซอุสเป็นโครงการโดย Adobe วิจัยซึ่งช่วยให้คุณแก้ปัญหารหัส Node.js ของคุณในการมาเปิดบรรณาธิการของพวกเขาวงเล็บ มันมีคุณสมบัติที่น่าสนใจบางอย่างเช่นการครอบคลุมโค้ดแบบเรียลไทม์การตรวจสอบย้อนหลังโครงสร้างการโทรแบบอะซิงโครนัส

ภาพหน้าจอ


นี่มันเจ๋งมาก แต่ก็ยังไม่รู้ว่า Backtrace สำหรับ Tho นั้น
อะไร misaxi

ตอนนี้ฉันรักเธเซอุส แต่ฉันก็ยังมีปัญหาบางอย่างที่ฉันต้องตั้งเบรกพอยต์และตามรอย ขณะนี้ฉันต้องฆ่าแอปของฉันเริ่มต้นโหนดด้วย --debug ติดตาม trhough แล้วเริ่มแอปด้วย node-Theseus เป็นไปได้ไหมที่จะใช้เธเซอุสกับเบรกพอยต์? ฉันได้ลองค้นหาในหน้า GitHub, StackOverflow และฟอรัมแล้ว แต่ก็ยังไม่มีโชค ฉันพลาดอะไรไปรึเปล่า?
ยูจีน

25

เครื่องมือ Node.js สำหรับ Visual Studio 2012 หรือ 2013 มีตัวดีบัก ภาพรวมที่นี่ระบุว่า "เครื่องมือ Node.js สำหรับ Visual Studio รวมถึงการสนับสนุนที่สมบูรณ์แบบสำหรับการดีบักแอปโหนด" เป็นสิ่งใหม่สำหรับ Node.js แต่มีพื้นหลังใน. NET ฉันพบว่าส่วนเสริมนี้เป็นวิธีที่ดีในการแก้ไขข้อบกพร่องของแอปพลิเคชัน Node.js


23

Visual Studio Codeมีการสนับสนุนการดีบักที่ดีมาก Node.js มันฟรีโอเพนซอร์สและข้ามแพลตฟอร์มและทำงานบน Linux, OS X และ Windows

คุณสามารถแก้ปัญหางานเสี้ยงฮึดฮัดแสดงความไม่พอใจและถ้าคุณต้องการ ...


1
เริ่มจาก Visual Studio Code 8.0 การสนับสนุนการดีบักสำหรับ OSX และ Linux ทำได้ดีมาก
bgse

หลังจากใช้เวลาตลอดทั้งคืนรับโหนด - ผู้ตรวจสอบและ strongloop ทำงานภายใต้ windows (ชุมชน Visual Studio, ลดระดับเป็น npm 2, ติดตั้ง python, ตัวแปร env, ใช้คำสั่ง cmd ไม่ใช่ babun / cygwin เป็นต้น) จากนั้นเล่นกับสิ่งนี้เป็นเวลาหนึ่งชั่วโมง ฉันต้องบอกว่านี่เป็นตัวเลือกที่ดีที่สุดอย่างน้อยใน windows และโดยทั่วไป (ถ้าคุณไม่มี webstorn)
dashambles

22

ฉันเขียนวิธีการที่แตกต่างกันเพื่อแก้จุดบกพร่องรหัส Node.js ซึ่งมีเสถียรภาพและง่ายมาก มันสามารถใช้ได้ที่https://github.com/sa/iron-node

ป้อนคำอธิบายภาพที่นี่

ดีบักเกอร์ visual opensource ข้ามแพลตฟอร์ม

การติดตั้ง:

npm install iron-node -g;

Debug:

iron-node yourscript.js;



15

ใช้ Chrome เวอร์ชัน 67.0.3396.62 (+)

  1. รันแอปโหนด

โหนด --inspect-brk = 0.0.0.0: 9229 server.js (ชื่อไฟล์เซิร์ฟเวอร์ js)

  1. เรียกดูแอปของคุณใน chrome เช่น "localhost: port"
  2. เปิด DevTools
  3. คลิกที่ไอคอนโหนดข้างไอคอนอุปกรณ์ที่ตอบสนอง

ป้อนคำอธิบายรูปภาพที่นี่

จะมีหน้าต่าง DevTools อื่นที่จะปรากฏขึ้นโดยเฉพาะสำหรับการดีบักแอปโหนด

ป้อนคำอธิบายรูปภาพที่นี่


13

ฉันสร้างเครื่องมือเล็ก ๆ อย่างประณีตที่เรียกว่าpry.jsซึ่งสามารถช่วยคุณได้

ใส่คำสั่งง่ายๆในรหัสของคุณเรียกใช้สคริปต์ของคุณตามปกติและโหนดจะหยุดด้ายปัจจุบันให้คุณเข้าถึงตัวแปรและฟังก์ชั่นทั้งหมดของคุณ ดู / แก้ไข / ลบได้ตามต้องการ!

var pry = require('pryjs')

class FizzBuzz

  run: ->
    for i in [1..100]
      output = ''
      eval(pry.it) // magic
      output += "Fizz" if i % 3 is 0
      output += "Buzz" if i % 5 is 0
      console.log output || i

  bar: ->
    10

fizz = new FizzBuzz()
fizz.run()

11

มีไคลเอ็นต์ดีบักเกอร์บรรทัดคำสั่งในตัวภายใน Node.js Cloud 9 IDE ยังมีดีบักเกอร์ (ภาพ) ที่น่ารักอีกด้วย


Cloud 9 เป็นทางเลือกที่ดีสำหรับฉันโดยเฉพาะอย่างยิ่งให้อิสระในการเลือกรหัสโดยไม่ต้องพกแล็ปท็อปมาด้วย
Teoman shipahi




8

เริ่มต้นกระบวนการโหนดของคุณด้วย--inspect flag

node --inspect index.js

แล้วเปิดchrome://inspectในโครเมี่ยม คลิกลิงก์ "เปิด DevTools เฉพาะสำหรับโหนด" หรือติดตั้งส่วนขยายของ Chrome นี้เพื่อเปิด DevTools ของ Chrome ได้อย่างง่ายดาย

สำหรับข้อมูลเพิ่มเติมดูที่ลิงค์นี้


7

หากคุณต้องการไลบรารีการบันทึกที่มีประสิทธิภาพสำหรับ Node.js Tracer https://github.com/baryon/tracerเป็นตัวเลือกที่ดีกว่า

มันเอาท์พุทข้อความเข้าสู่ระบบด้วยการประทับเวลา, ชื่อไฟล์, ชื่อวิธีการ, หมายเลขบรรทัด, เส้นทางหรือโทรสแต็ค, สนับสนุนคอนโซลสีและฐานข้อมูลการสนับสนุน, ไฟล์, การขนส่งกระแสได้อย่างง่ายดาย ฉันเป็นผู้เขียน


7

สมมติว่าคุณติดตั้งโหนดตัวตรวจสอบบนคอมพิวเตอร์ของคุณ (ถ้าไม่ใช่ให้พิมพ์ 'npm install -g node-inspector') ที่คุณต้องรัน:

node-inspector & node --debug-brk scriptFileName.js

และวาง URI จากบรรทัดคำสั่งลงในเบราว์เซอร์ WebKit (Chrome / Safari)


1
โหนดตรวจสอบถูกกล่าวถึงแล้ว ; อาจลบคำตอบนี้
Dan Dascalescu



5

มีความเป็นไปได้มากมาย ...

สนับสนุน Debug มักจะดำเนินการโดยใช้v8 แก้จุดบกพร่องพิธีสารหรือใหม่กว่าChrome แก้จุดบกพร่องพิธีสาร


5

มีโครงการNodeclipseโอเพนซอร์สใหม่ (ในฐานะที่เป็นปลั๊กอิน Eclipse หรือEnide Studio ):

Nodeclipse กลายเป็นอันดับ 1 ในEclipse Top 10 NEW ปลั๊กอินสำหรับ 2013 มันใช้ดีบักเกอร์V8 ที่แก้ไขแล้ว(จาก Google Chrome Developer Tools สำหรับ Java)

Nodeclipse ฟรีซอฟต์แวร์โอเพ่นซอร์สที่ปล่อยออกมาในช่วงเริ่มต้นของทุกเดือน


4

NetBeans IDE มี Node.js สนับสนุนตั้งแต่รุ่น 8.1 :

< ... >

คุณสมบัติเด่นใหม่

การพัฒนาโปรแกรมประยุกต์ Node.js

  • ตัวช่วยสร้างโครงการ Node.js ใหม่
  • ตัวช่วยสร้างด่วน Node.js ใหม่
  • เครื่องมือแก้ไข JavaScript ขั้นสูง
  • การสนับสนุนใหม่สำหรับการเรียกใช้แอปพลิเคชัน Node.js
  • การสนับสนุนใหม่สำหรับการดีบักแอปพลิเคชัน Node.js

< ... >

การอ้างอิงเพิ่มเติม:

  1. NetBeans วิกิพีเดีย / NewAndNoteworthyNB81
  2. Node.js เอ็กซ์เพรส App ใน NetBeans IDE, Geertjan



3

วิธีที่รวดเร็วและสกปรกที่จะแก้ปัญหาสคริปต์ Node.js ขนาดเล็กที่มีคุณชื่นชอบการดีบักเกอร์เบราว์เซอร์จะใช้browserify โปรดทราบว่าวิธีการนี้ใช้ไม่ได้กับแอปพลิเคชันใด ๆ ที่ต้องการไลบรารี I / O ดั้งเดิม แต่ดีพอสำหรับสคริปต์ขนาดเล็กส่วนใหญ่

$ npm install -g browserify

ตอนนี้ย้ายvar x = requires('x')สายทั้งหมดของคุณเป็นrequires.jsไฟล์และเรียกใช้:

$ browserify requires.js -s window -o bundle.js

(ข้อเสียที่นี่คือคุณต้องย้ายหรือแสดงความคิดเห็นrequiresในไฟล์ทั้งหมดของคุณ)

รวมbundle.jsในไฟล์ HTML ดังนี้:

<script type="text/javascript" src="bundle.js"></script>

ตอนนี้โหลดไฟล์ในเบราว์เซอร์ของคุณและกดF12และวิโอลา: แก้ปัญหาในเบราว์เซอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.