2013-05-03 9 views
6

W stosie stosu node.js zawsze są dwie liczby, numer linii, a następnie: i inna liczba. W poniższym przykładzie pierwsza linia ma faye-redis.js: 153: 36 i 153 jest numerem wiersza w tym pliku, w którym wystąpił błąd, ale co to jest liczba: 36?Co oznacza druga liczba po dwukropku w wierszu śledzenia stosu node.js?

node_modules/faye-redis/faye-redis.js:153:36 • publish.notify 
node_modules/faye-redis/faye-redis.js:72:16 • clientExists 
node_modules/redis/index.js:532:9 • try_callback 
node_modules/redis/index.js:614:13 • return_reply 
node_modules/redis/index.js:266:14 • RedisClient.init_parser 
events.js:96:17 • EventEmitter.emit 
node_modules/redis/lib/parser/hiredis.js:43:18 • execute 
node_modules/redis/index.js:488:27 • on_data 
node_modules/redis/index.js:82:14 • none 
events.js:96:17 • EventEmitter.emit 
net.js:397:14 • onread 

Odpowiedz

8

Pierwsza liczba to wiersz (numer wiersza), drugi to kolumna (znak na linii). W JavaScript wielu programistów zwykle umieszcza dużo kodu na pojedynczej linii z closures et al, lub używa minifigatorów takich jak kompresor YUI, więc często jest to dość istotna informacja.

+3

I nie tylko w JavaScript, ale także w wielu innych językach. Konwencja linia: kolumna jest częstym zjawiskiem w śladach stosu. – BoltClock

+0

Jeden błąd: jeśli używasz zakładek do wcięcia, numer kolumny zgłaszany przez twojego edytora może nie pasować do numeru zgłoszonego znaku. np. Sublime Text zgłasza moje karty jako dwie kolumny. – RobW