2013-04-03 11 views
6

90% czasu zawsze otrzymuję ślad stosu. Ale czasami proces się kończy i nie mam pojęcia dlaczego. W każdym razie, aby wydrukować ślad stosu zawsze? Lub znaleźć więcej informacji w dmesg lub coś takiego?dlaczego proces node.js nagle umiera na osx bez żadnego wyjaśnienia w żadnym pliku dziennika?

+0

Wygląda na to, że sam węzeł się zawiesił. Zależy od tego, z jakiej platformy korzystasz (Windows, Mac, Linux), jak możesz to debugować. – robertklep

+0

na osxie i to się dzieje coraz więcej. Węzeł ładnie działa, a następnie bum, proces umiera bez żadnego wyjaśnienia. jakikolwiek pomysł, jak znaleźć więcej informacji? –

+0

Sprawdź '~/Library/Logs/DiagnosticReports', aby sprawdzić, czy istnieją dzienniki awarii związane z procesami Node. Dzienniki mogą stanowić wskazówkę, dlaczego węzeł się zawiesił. – robertklep

Odpowiedz

7

porządku w końcu znalazł sposób, aby znaleźć błąd:

węzeł --trace app.js

wyprowadza każde wywołanie funkcji i widzę StackTrace tuż zanim wyjdzie z:

startup.processKillAndExit.process.exit

I moje punkty stackTrace do:

redis.get 'bar', (err, data) -> 
    JSON.parse(value).foo 

JSON.parse (wartość) wraca zerowy tak .foo rzuca:

[TypeError: nie można odczytać właściwości 'foo' null]

iz jakiegoś powodu TypeError wewnątrz zwrotnego Redis połknięcia i przyczyny węzeł do wyjścia bez drukowania błędu.

+0

Ahah ... sposób debugowania, dziękuję ... Mam podobny problem, jak się wydaje – Lee

Powiązane problemy